成绩分析和排名是一个教务管理系统,必不可少的功能!
mysql7.0以前似乎没有像mysql一样的rank函数,数据成绩排序就相对复杂一些!
库表如下:
select * from score;
1 1 3 4排名方式
select t.score,(select count(s.score)+1 from score s where s.score>t.score) rank from score t order by t.score desc;
1 1 2 3 排序方式
SELECT
t.score,
(
SELECT
count( s.score ) + 1
FROM
( SELECT s.score, count( s.score ) FROM score s GROUP BY score ORDER BY score DESC ) s
WHERE
s.score > t.score
) rank
FROM
score t
ORDER BY
t.score DESC;