如果我有以下数据方案:
Id GroupedById Date
-- ----------- ----
1 11 1/2/17
2 11 1/4/17
3 11 1/3/17
4 12 4/1/17
5 12 1/1/17
6 12 2/1/17
我在结果集中想要的是:
Id GroupedById Date
-- ----------- ----
2 11 1/4/17
4 12 4/1/17
我正在尝试Group By
和Having
的组合,我也尝试了Over (Partition By)
,但似乎没有人能做到这一点。但是,当我添加Id
字段时,我获得的不仅仅是GroupedById
和最大日期。
SELECT GroupById, MAX(Date) FROM MyTable Group By GroupById
获取GroupById
和最长日期,但我不确定如何获得具有该组合的相应Id
。
答案 0 :(得分:1)
将row_number
与TOP
一起使用。
select top 1 with ties *
from tbl
order by row_number() over(partition by groupedID order by date desc)