sql >> Base de Datos >  >> RDS >> Sqlserver

recuperar el registro más reciente de cada cliente

;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;

Trate de evitar palabras reservadas (y nombres de columna imprecisos) como [DATE] ...