时间:2021-07-01 10:21:17 帮助过:34人阅读
1.name=张三 fs=87.5
2.name=张三 fs=70
3.name=李四 fs=85
4.name=李四 fs=90
我现在想统计一个排名,比如
“张三”的总分是87.5+70=157.5
“李四”的总分是85+90=175.5
175.5>157.5
李四第一名,张三第二名
我怎么得到这个1和2
比如表里面的字段有2个,一个姓名,一个成绩
1.name=张三 fs=87.5
2.name=张三 fs=70
3.name=李四 fs=85
4.name=李四 fs=90
我现在想统计一个排名,比如
“张三”的总分是87.5+70=157.5
“李四”的总分是85+90=175.5
175.5>157.5
李四第一名,张三第二名
我怎么得到这个1和2
表结构和数据截图
SQL语句
SELECT name,sum(score) a from test GROUP BY name order by a desc
有点看不惯fs这种字段命名,自作主张改成了score
SELECT SUM(fs) as sumfs,name from demo GROUP BY name order by sumfs desc
得到的数据结果就是按照总分数从高到低排序的
SELECT
@n := @n +1 n,
name,
sum(score) AS sum_score
FROM tbl, (SELECT @n := 0) m
GROUP BY name
ORDER BY sum_score DESC
Ref:
http://stackoverflow.com/questions/16555...
http://sqlfiddle.com/#!2/2d3a4/3