如何在MySQL中分组汇总分数并按总分降序排列
MySQL按姓名分组求和并排序的实现方法
原始数据表
| 姓名 | 分数 |
|---|---|
| Gary | 50 |
| Rob | 62 |
| Bill | 42 |
| Rob | 34 |
| Gary | 24 |
| Gary | 35 |
实现SQL语句
使用GROUP BY按姓名分组,搭配SUM()函数计算总分,再通过ORDER BY指定排序规则:
SELECT 姓名, SUM(分数) AS 总分 FROM 你的数据表名 GROUP BY 姓名 ORDER BY 总分 DESC;
语句说明
GROUP BY 姓名:将相同姓名的记录归为同一组SUM(分数) AS 总分:计算每组内的分数总和,同时给结果列命名为“总分”ORDER BY 总分 DESC:让结果按总分从高到低排列(若需要升序,将DESC替换为ASC即可)
执行结果(降序)
| 姓名 | 总分 |
|---|---|
| Gary | 109 |
| Rob | 96 |
| Bill | 42 |
注:你提供的示例结果为总分升序排列,若需要该结果,执行时将排序语句改为ORDER BY 总分 ASC即可。
内容的提问来源于stack exchange,提问作者Jmljk2003
相关产品推荐
相关产品推荐

