意思是,你的总分为600分,拿你的600分和成绩表中的总分比较,看看你600分有多少条记录是 600>总分的,
比如:
记录,总分
1,500
2,400
3,660
4,800,
5,410
6,600
那么,600大于的就有500,400,410,那么名次=1+3=4,
他这个是错误的,误人子弟,
应该是用 a.总分 < 成绩表总分
600小于的有 800,660,名次=2+1,第3名,才是对的。
如果你的分数是800,那么800小于的没有,名次=0+1,第1名次
所以,下面的才是正确的,如果区别同名次的,好像是用 <= 来对比
1+(select count(*) from 成绩数据表 a where a.总分 < 成绩数据表.总分) as 名次
[此贴子已经被作者于2016-6-4 12:11编辑过]