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

Cómo obtener el último registro por grupo en SQL

Puede usar una función de clasificación y una expresión de tabla común .

WITH e AS
(
     SELECT *,
         ROW_NUMBER() OVER
         (
             PARTITION BY ApplicationId
             ORDER BY CONVERT(datetime, [Date], 101) DESC, [Time] DESC
         ) AS Recency
     FROM [Event]
)
SELECT *
FROM e
WHERE Recency = 1