Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como obter o último registro por grupo no SQL


Você pode usar uma função de classificação e uma expressão de tabela comum .
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