先求和再排序的sql语句

这个表是这样的:
id name jifen
1 a 3
2 a 4
3 b 8
4 b 16
5 c 2
6 d 4
怎样把a,b,c,d的积分求和然后把积分的和按总分排序,用一条sql语句实现

SQL中先求和再排序,举例及解决方法如下:

1、若要查询表t1中col2字段按照col1字段分别求和,并按照求和结果从小到大排序。

2、查询语句为:

SELECT col1,SUM(col2) FROM t1
GROUP BY col1
ORDER BY SUM(col2);

3、语句解释:GROUP BY col1是指按照col1字段聚合,SUM(col2)指聚合方式为求和,聚合目标为col2。ORDER BY SUM(col2)是指按求和后的结果进行排序。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-26
也不知道你用的是什么数据库,下面可以实现的MySQL数据库,应该Sqlserver也差不多,好些年没用过sqlserver了,你自己看一下。
select *,sum(jifen) from tbname group by name order by name asc
第2个回答  推荐于2017-09-21
语句如下:
select name,zongfen from (select name,sum(jifen) zongfen from [tablename] group by name) order by zongfen;
希望对你有帮助。追问

您写的那个select后面的zongfen是哪来的啊 我试了,提示order附近有语法错误

追答

zongfen是 sum(jifen)的别名,我这里没有数据库。你把报错提示描述一下。

追问

消息 156,级别 15,状态 1,第 1 行
关键字 'order' 附近有语法错误。

追答

zongfen是 sum(jifen)的别名,我这里没有数据库。你把报错提示描述一下。
select name,zongfen from (select name,sum(jifen) as zongfen from [tablename] group by name) a order by a.zongfen;
这样试试

本回答被提问者采纳
相似回答