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

 更新时间:2018年05月29日 10:36:42   作者:weixin_40839342  
这篇文章通过实例代码给大家介绍了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如何分别按年/月/日/周分组统计数据的相关资料,需要的朋友可以参考下
    2022-12-12
  • Java数据类型与MySql数据类型对照表

    Java数据类型与MySql数据类型对照表

    这篇文章主要介绍了Java数据类型与MySql数据类型对照表,以表格形式分析了java与mysql对应数据类型,并简单讲述了数据类型的选择与使用方法,需要的朋友可以参考下
    2016-06-06
  • mysql 超大数据/表管理技巧

    mysql 超大数据/表管理技巧

    在实际应用中经过存储、优化可以做到在超过9千万数据中的查询响应速度控制在1到20毫秒。看上去是个不错的成绩,不过优化这条路没有终点,当我们的系统有超过几百人、上千人同时使用时,仍然会显的力不从心
    2013-03-03
  • Mysql修改server uuid的方法分享

    Mysql修改server uuid的方法分享

    这篇文章主要给大家介绍了关于Mysql修改server uuid的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-09-09
  • Mysql存储过程中游标的用法实例

    Mysql存储过程中游标的用法实例

    这篇文章主要介绍了Mysql存储过程中游标的用法,以商户关联数据的插入及更新为例分析了MySQL存储过程中游标的使用技巧,需要的朋友可以参考下
    2015-07-07
  • 教你如何让spark sql写mysql的时候支持update操作

    教你如何让spark sql写mysql的时候支持update操作

    spark提供了一个枚举类,用来支撑对接数据源的操作模式,本文重点给大家介绍如何让spark sql写mysql的时候支持update操作,本文通过实例代码给大家介绍的非常详细,需要的朋友参考下吧
    2022-02-02
  • 浅谈mysql中concat函数,mysql在字段前/后增加字符串

    浅谈mysql中concat函数,mysql在字段前/后增加字符串

    下面小编就为大家带来一篇浅谈mysql中concat函数,mysql在字段前/后增加字符串。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • JDBC如何连接mysql

    JDBC如何连接mysql

    这篇文章主要介绍了JDBC如何连接mysql问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • Mysql中Table ‘XXX’ is marked as crashed and last (automatic?)问题解决方法

    Mysql中Table ‘XXX’ is marked as crashed and last (automatic?)

    这篇文章主要介绍了Mysql中Table ‘XXX’ is marked as crashed and last (automatic?)问题解决方法,需要的朋友可以参考下
    2014-05-05
  • MySql Group By对多个字段进行分组的实现方法

    MySql Group By对多个字段进行分组的实现方法

    这篇文章主要介绍了MySql Group By对多个字段进行分组的实现方法,需要的朋友可以参考下
    2017-09-09

最新评论