MySQL如何实现组内排序
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,MySQL如何实现组内排序?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!假设表格为student, 数据如下: 我
千家信息网最后更新 2026年11月03日MySQL如何实现组内排序
MySQL如何实现组内排序?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!
假设表格为student, 数据如下:
我们要在MySQL中实现Oracle中的rank()函数功能,即组内排序,具体来说: 就是对student表中按照课程(course)对学生(name)按分数(score)高低进行排名。
首先新建存储过程realize_rank_in_MySQL,代码如下:
DROP PROCEDURE IF EXISTS realize_rank_in_MySQL;DELIMITER ;;CREATE PROCEDURE realize_rank_in_MySQL()BEGIN DECLARE i int; SET i = 0; WHILE i < (select count(DISTINCT course) from student) DO SET @ROW =0; INSERT INTO student_rank SELECT *, (@ROW:=@ROW+1) AS rank FROM student WHERE course=(select DISTINCT course from student limit i,1) ORDER BY score DESC; set i = i + 1; END WHILE;END;;DELIMITER ;
然后输入以下查询语句即可:
drop table if exists student_rank;create table student_rank like student;alter table student_rank add rank int;call realize_rank_in_MySQL;select * from student_rank;
结果如下:
注意:这里的排名并没有实现分数相同时排名也一样的情形。
感谢各位的阅读!看完上述内容,你们对MySQL如何实现组内排序大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注行业资讯频道。
内容
排序
分数
文章
问题
相同
代码
函数
功能
学生
就是
情形
数据
更多
看吧
结果
行业
表格
语句
课程
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技公司起名
互联网通讯科技
盈实互联网科技
礼当家互联网科技
极限挑战互联网科技
腾讯科技 互联网女皇
无线互联网科技
居家互联网科技有限公司
互联网科技素材视频竖屏
太原新华互联网科技学校怎么样
中盈科技互联网信息有限公司
呼和浩特新华互联网科技学院
华夏恒生科技与互联网科技
阿里互联网科技企业
山东有哪些互联网科技公司
黑科技 体验场景 互联网大会
互联网领先科技宣传片
绵阳真晨互联网科技有限公司
东风日产互联网科技公司叫什么
互联网科技企业文化
互联网科技产业
互联网科技的发展
电子科技大学互联网
互联网科技创新企业排名
现代互联网科技股
互联网科技实习生岗位
广州千川互联网科技有限公司
云南互联网科技学费
美国五大互联网科技公司市值多少
科技互联网公司两年变化