CREATE TABLE `student` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`score` double NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;
有如下信息

求输出学生id,成绩,以及排名
SELECT id,score,(SELECT COUNT(*)+1 FROM student WHERE a.score<score) AS sort
FROM student a ORDER BY sort

直接输出学生id=?的排名
SELECT (SELECT COUNT(*)+1 FROM student WHERE a.score<score) AS sort
FROM student a where id=? ORDER BY sort

本文介绍了一种使用SQL查询学生排名的方法,通过子查询计算每个学生的成绩排名,包括学生ID、成绩及排名的输出,适用于教育数据分析场景。
643

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



