千家信息网

怎么在Mysql中利用排序获取排名

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章将为大家详细讲解有关怎么在Mysql中利用排序获取排名,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。代码如下所示:SELECT @i:=@i+
千家信息网最后更新 2026年11月01日怎么在Mysql中利用排序获取排名

这篇文章将为大家详细讲解有关怎么在Mysql中利用排序获取排名,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

代码如下所示:

SELECT @i:=@i+1 rowNum,if(@total=t.s_score,@rank,@rank:=@i) rank,@total:=t.s_score,t.*from(select t1.* ,t2.s_score from student t1 LEFT JOIN score t2 on t1.s_id=t2.s_id and t2.c_id="01" ORDER BY t2.s_score desc)t,(select @i:=0,@rank:=0,@total:=null) s ;SELECT @i:=@i+1 rowNum,if(@total=t.s_score,@rank,@rank:=@rank+1) rank,@total:=t.s_score,t.*from(select t1.* ,t2.s_score from student t1 LEFT JOIN score t2 on t1.s_id=t2.s_id and t2.c_id="01" ORDER BY t2.s_score desc)t,(select @i:=0,@rank:=0,@total:=null) s ;

Mysql 获取成绩排序后的名次

其实就是输出mysql的排序后的行号

RT:获取单个用户的成绩在所有用户成绩中的排名

可以分两步:

1、查出所有用户和他们的成绩排名

select id,maxScore,(@rowNum:=@rowNum+1) as rowNo from t_user, (select (@rowNum :=0) ) b order by t_user.maxScore desc

2、查出某个用户在所有用户成绩中的排名

select u.rowNo from ( select id,(@rowNum:=@rowNum+1) as rowNo from t_user, (select (@rowNum :=0) ) b order by t_user.maxScore desc ) u where u.id="2015091810371700001";

关于怎么在Mysql中利用排序获取排名就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

成绩 用户 排序 内容 文章 更多 知识 篇文章 不错 代码 单个 名次 就是 质量 行号 参考 帮助 有关 输出 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州淘业互联网络科技 金融科技还是互联网 互联网与未来科技 互联网高科技企业 卓越科技互联网 招聘 互联网科技股午盘股票涨跌 中盈科技互联网信息有限公司 华夏恒生互联网科技013171 东莞新华互联网科技学校 互联网科技的全部知识 工业互联网展湾科技股份有限公司 锡山区互联网智能科技产品供应 张召忠谈中国互联网科技 本届互联网大会上的黑科技 互联网科技包装股份有限公司上市 广州有谷有贝互联网科技有限公司 抖集互联网科技技术咨询 艺电能源互联网科技有限公司招聘 安徽零酒互联网科技有限公司 利用互联网等科技手段 互联网科技名片 互联网科技资迅 互联网科技作文 滨湖区互联网智能科技产品供应 北京大学互联网科技怎么样 字节跳动和互联网科技 互联网科技与管理 链环科技传统企业怎么转型互联网 允成互联网科技有限公司融资 山东有哪些互联网科技公司
0