排序方式1
思路 利用子查询 ,用count 计算出比该成绩大个个数有几个,在此基础上加1,就是他在该列的排名了。

SELECT *,(SELECT COUNT(grade)+1 FROM test_grade as p WHERE p.grade> test_grade.grade )
FROM test_grade ORDER BY GRADE DESC ;
方法2
思路,利用distinct 去重

SELECT *,(SELECT COUNT(DISTINCT(grade))+1 FROM test_grade as p WHERE p.grade> test_grade.grade )
FROM test_grade ORDER BY GRADE DESC ;
2305

被折叠的 条评论
为什么被折叠?



