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

Sélectionner uniquement la dernière valeur de date ?

Vous pouvez utiliser un CTE avec un ROW_NUMBER comme ceci :

WITH CTE AS
(
   SELECT UserFK, aDate, aValue,
     RN = ROW_NUMBER() OVER (PARTITION BY UserFK ORDER BY aDate DESC)
   FROM dbo.TableName
)
SELECT UserFK, aDate, aValue
FROM CTE
WHERE RN = 1