求助!不知道两个SQL语句的差别在哪里,希望有大神详细讲解。
sql吧
全部回复
仅看楼主
level 2
jack5282498 楼主
本人新手,在做SQL的联系题。
题目:查询学生的总成绩,并进行排名,总分重复时保留名次空缺。
正确SQL查询语句如下:
SET @cur:=0;
SELECT r.sid,total,@cur:=@cur+1 as rank FROM (
SELECT sid,sum(`成绩表`.score) as total FROM `成绩表`
GROUP BY `成绩表`.sid
ORDER BY total DESC
)as r;
本人自学研究SQL语句如下:
SET @paim:=0;
SELECT sid,SUM(score),@paim:=@paim+1 FROM `成绩表`
GROUP BY sid
ORDER BY SUM(score) DESC;
为什么我的排名是乱的,不是按照1,2,3,4,5,6,7,这种顺序来的,我的SQL错在哪里呢?
2018年08月02日 07点08分 1
level 2
jack5282498 楼主
我的是MySQL的数据库
2018年08月02日 07点08分 2
level 2
jack5282498 楼主
dingdd
2018年08月02日 09点08分 3
level 2
jack5282498 楼主
再顶
2018年08月03日 07点08分 4
1