您正在使用IPV4(3.235.184.215)访问本站 您本次共访问本站 1 次
用户名: 用QQ登录本站
密 码:
验证码:
首页 软件 编程 笑话 知识 公告 日历 计算器 行情 简化版
文明驾车我带头,文明行路我带头,礼貌让座我带头      

【腾讯云】云产品限时秒杀,爆款1核2G云服务器,首年99元       [公益] 节省一分零钱 献出一份爱心 温暖世间真情      
广告位招租中
2021年 端午节 0
2021年 建党节 17
2022年 元 旦 201
2022年 春 节 232
 
  • 您现在的位置:首页 >> 数据库 >> 内容

    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";

    手机扫描二维码可直达本页
      版权声明:本内容来源于互联网,如有侵犯您的版权,请联系站长,本站收到您的信息后将及时处理。


    发布日期:2020/11/11 发布时间:16:00:33 点击:1528 录入:齐天大圣
  • 上一篇:数据库中保留小数位的问题
  • 下一篇:access删除最后一条记录
  • 本类新增
    本类热门文章
    Baidu

    YiJiaCMS V5.35 Build 21.06.10(MSSQL) 闽ICP备05000814号-1
    本空间由景安网络提供,百度云加速提供加速防护
    ©2000-2021