Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment obtenir le dernier enregistrement par groupe en SQL

Vous pouvez utiliser une fonction de classement et une expression de table commune .

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