Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So erhalten Sie den letzten Datensatz pro Gruppe in SQL

Sie können eine Ranking-Funktion verwenden und ein allgemeiner Tabellenausdruck .

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