您正在使用IPV4(44.192.92.49)访问本站 您本次共访问本站 1 次
 用户名: 密 码: 验证码:     用QQ登录本站
首页 软件 编程 笑话 知识 公告 台风 日历 计算器
[公益]保护绿色环境,构建和谐社会       悟空收录网      

【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中      
【莆田鞋VX:7221336】       [公益] 地球是我家,绿化靠大家      
2023年 端午节 16
2023年 儿童节 -5
2024年 元 旦 209
2024年 春 节 249
 
您现在的位置:首页 >> 数据库 >> 内容
本类新增
本类热门文章
Mysql排序获取排名的实例代码
内容摘要: SELECT @i:[email protected]+1 rowNum,if(@total=t.s_score,@rank,@rank:[email protected]) 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......
SELECT @i:[email protected]+1 rowNum,

if(@total=t.s_score,@rank,@rank:[email protected]) 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:[email protected]+1 rowNum,

if(@total=t.s_score,@rank,@rank:[email protected]+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:[email protected]+1) as rowNo

from t_user,

(select (@rowNum :=0) ) b

order by t_user.maxScore desc

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

select u.rowNo from (

select id,(@rowNum:[email protected]+1) as rowNo

from t_user,

(select (@rowNum :=0) ) b

order by t_user.maxScore desc ) u where u.id="2015091810371700001";

版权声明:本内容来源于网络,如有侵犯您的版权,请联系站长,本站收到您的信息后将及时处理。
上一篇:数据库中保留小数位的问题 下一篇:mysql8.0.19忘记密码处理方法详
发布日期:2021/6/15
手机扫二维码直达本页
发布时间:12:34:56
点  击:15
录  入:齐天大圣
相关文章
Baidu

YiJiaCMS 7.0.5 build230518(MSSQL) 闽ICP备05000814号-1
本空间由腾讯云(轻量应用服务器)提供,百度云加速提供加速防护
Copyright©2000-2023