У меня есть таблица
PKID : int - primary key Date : datetime ID_2 : int lots of other columns.. ... ...
Как получить строку с наибольшей датой для каждого уникального ID_2 ?
;WITH cte AS ( SELECT PKID, Date, ID_2, ROW_NUMBER() OVER (PARTITION BY ID_2 ORDER BY Date DESC) AS RN FROM your_table ) SELECT PKID, Date, ID_2 FROM cte WHERE RN=1
;with t as ( select ROW_NUMBER() OVER (PARTITION BY ID_2 order by date desc) rn,tableName.* from tableName ) select * from t where rn=1
Я ленивый и привык *.Вы не должны
Просто MAX() и GROUP;
MAX()
GROUP
SELECT ID_2, MAX([Date]) AS TheDate FROM tbl GROUP BY ID_2