在SQL中,如何为每个组选择前2行
我有一张桌子,如下所示:
NAME SCORE-----------------
willy 1
willy 2
willy 3
zoe 4
zoe 5
zoe 6
这是样本
的汇总功能group by
仅允许我获得每个方面的最高分name
。我想查询以获得每个人的最高2分name
,我该怎么办?
我的预期输出是
NAME SCORE-----------------
willy 2
willy 3
zoe 5
zoe 6
回答:
SELECT *FROM test s
WHERE
(
SELECT COUNT(*)
FROM test f
WHERE f.name = s.name AND
f.score >= s.score
) <= 2
- SQLFiddle演示
以上是 在SQL中,如何为每个组选择前2行 的全部内容, 来源链接: utcz.com/qa/397847.html