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

Le serveur SQL sélectionne des lignes distinctes en utilisant uniquement la valeur la plus récente

Aller simple

select t1.* from (select ForeignKeyId,AttributeName, max(Created) AS MaxCreated
from  YourTable
group by ForeignKeyId,AttributeName) t2
join YourTable t1 on t2.ForeignKeyId = t1.ForeignKeyId
and t2.AttributeName = t1.AttributeName
and t2.MaxCreated = t1.Created

Voir aussi Inclure les valeurs associées d'une colonne agrégée pour 5 façons différentes d'effectuer ce type de requête