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

Abfragen nach einem eindeutigen Wert basierend auf der Zusammenfassung eines anderen Werts, während vollständig nach einem dritten Wert gruppiert wird

Ich denke, das wird tun, was Sie wollen.

;WITH X1 
AS 
(
    SELECT SomeDateTime
           ,GroupID 
           ,ID
           ,ROW_NUMBER() OVER (PARTITION BY GroupID
                               ORDER BY SomeDateTime DESC
                               ) AS rn
    FROM X
)
SELECT SomeDateTime
       ,GroupID
       ,ID
FROM X1
WHERE rn = 1