比如表里面的字段有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
比如表里面的字段有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
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
2 回答2.5k 阅读✓ 已解决
5 回答1.5k 阅读
2 回答1.1k 阅读✓ 已解决
2 回答2.2k 阅读
3 回答781 阅读✓ 已解决
2 回答556 阅读✓ 已解决
1 回答858 阅读✓ 已解决
表结构和数据截图
SQL语句
有点看不惯fs这种字段命名,自作主张改成了score