• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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排序获取排名,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

    您可能感兴趣的文章:
    • MYSQL实现排名及查询指定用户排名功能(并列排名功能)实例代码
    • MySQL页面访问统计及排名情况
    • MySQL中给自定义的字段查询结果添加排名的方法
    • mysql分组取每组前几条记录(排名) 附group by与order by的研究
    • 总结几种MySQL中常见的排名问题
    上一篇:mysql下centos安装mariadb的方法及遇到的问题
    下一篇:MySQL绿色解压缩版安装与配置操作步骤
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Mysql排序获取排名的实例代码 Mysql,排序,获取,排名,的,