我有一个问题,我浪费了太多时间玩。它可以简化为:
我可以看到如何使用游标进行游戏,但有没有一种方法可以使用top和group by来实现这一目标?
赞赏所有投入!
答案 0 :(得分:0)
您需要使用ROW_NUMBER分析函数
SELECT *
FROM
( SELECT name,
age,
zipcode,
ROW_NUMBER() OVER
( PARTITION by zipcode
order by age desc)
as seq
) T
Where T.seq <=5
答案 1 :(得分:0)
SELECT *
FROM (
SELECT *
,ROW_NUMBER() OVER (PARTITION BY zipcode ORDER BY Age DESC) rn
FROM TableName
)A
WHERE RN <= 5