sql >> Database teknologi >  >> RDS >> Sqlserver

hente den seneste rekord for hver kunde

;WITH x AS 
(
    SELECT ID, NAME, [DATE], 
      rn = ROW_NUMBER() OVER 
      (PARTITION BY NAME ORDER BY [DATE] DESC)
    FROM @TESTABLE
)
SELECT ID, NAME, [DATE] FROM x WHERE rn = 1
  ORDER BY [DATE] DESC;

Prøv at undgå reserverede ord (og vage kolonnenavne) som [DATE] ...



  1. Saml rekursive JSON-nøgler i Postgres

  2. Hvordan slippe af med NUL-tegn i Oracle-databasen?

  3. SQL Statement Help - Vælg seneste ordre for hver kunde

  4. Selvhenvisende fremmednøgle-begrænsninger og slet