sql >> Database >  >> RDS >> Sqlserver

SQL - Selecteer nieuwste record als er een duplicaat is

Er zijn een paar manieren om dit te doen, een manier is om ROW_NUMBER zoals dit:

SELECT id, type, date
FROM 
(
    SELECT tb1.id, tb1.type, tb1.Date, 
        ROW_NUMBER() OVER (PARTITION BY tb1.id ORDER BY tb1.Date DESC) AS RowNo
    FROM Table tb1
    WHERE tb1.type IN ('A','B')
) x
WHERE x.RowNo = 1

Dit retourneert de rij voor elke afzonderlijke id waarde met de laatste datum.




  1. MySQL:toegang geweigerd voor gebruiker 'test'@'localhost' (met wachtwoord:JA) behalve rootgebruiker

  2. Casusverklaringen in ARel

  3. SQL-selectie uit twee tabellen retourneert dubbele waarden - Codeigniter

  4. SQL Sentry is nu SentryOne