开发者社区> 问答> 正文

在SQL中,如何为每个组选择前2行?mysql

我有一张桌子,如下所示:

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

展开
收起
保持可爱mmm 2020-05-17 13:57:23 466 0
1 条回答
写回答
取消 提交回答
  • SELECT * FROM test s WHERE ( SELECT COUNT(*) FROM test f WHERE f.name = s.name AND f.score >= s.score ) <= 2来源:stack overflow

    2020-05-17 14:05:18
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
SQL Server在电子商务中的应用与实践 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载

相关镜像