mysql实现成绩排名

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weter_drop/article/details/88578512

成绩分析和排名是一个教务管理系统,必不可少的功能!
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;

在这里插入图片描述

展开阅读全文

没有更多推荐了,返回首页