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

Consultar um valor exclusivo com base na agregação de outro valor enquanto agrupa em um terceiro valor inteiramente


Acho que isso vai fazer o que você quer.
;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