mysql中给一个学生成绩表排序并显示第几名的sql语句
假设学生成绩表为score,包含字段id、name、score,可以使用以下SQL语句进行排序并显示第几名:
SELECT id, name, score, FIND_IN_SET(score, (SELECT GROUP_CONCAT(DISTINCT score ORDER BY score DESC) FROM score)) AS rank
FROM score
ORDER BY score DESC;
该语句中,先使用子查询获取成绩排名列表,再通过FIND_IN_SET函数获取每个成绩在排名列表中的位置,最后按成绩降序排序。
原文地址: https://www.cveoy.top/t/topic/bDu8 著作权归作者所有。请勿转载和采集!