资讯专栏INFORMATION COLUMN

mysql 计算排名,生成排行榜

pkwenda / 2489人阅读

mysql计算排名,获取行号rowno

学生成绩表数据
SELECT * FROM table_score ORDER BY score DESC;

获取某个学生成绩排名并计算该学生和上一名学生成绩差,是并列排名
SELECT *,
(SELECT count(DISTINCT score) FROM table_score AS b WHERE a.scorea.score ORDER BY b.score LIMIT 1)-a.score AS subtract #获取和上一名学生成绩的差 
FROM table_score AS a WHERE a.s_id = 13; #获取学生周三的成绩排名和与上一名的成绩差

获取所有学生成绩排名-并列排名
SELECT *,
(SELECT count(DISTINCT score) FROM table_score AS b WHERE a.score

获取所有学生成绩排名,不是并列排名。计算行号进行排名
SELECT a.*,
(@rowNum:=@rowNum+1) AS rank #计算行号
FROM table_score AS a,
(SELECT (@rowNum :=0) ) b
ORDER BY a.score DESC;

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/28598.html

相关文章

  • Spring Boot项目实践之问答社区

    摘要:异步事件处理本项目涉及到多种异步事件的处理。即是的粉丝,是的关注对象。模式定义优缺点推事件触发后广播给所有粉丝。具体来说,推模式就是事件触发后产生,触发事件的用户下所有粉丝的实现中都存入该的。 项目源代码已托管在 Github,欢迎 Star、Fork。 Q & A 问答社区 QA 是一个基于 B/S 架构而设计开发的社区网站。 showImg(https://segmentfault...

    binaryTree 评论0 收藏0
  • Redis从入门到进阶

    摘要:从入门到进阶今天跟大家交流一下的一些学习材料,希望通过今天的分享,能够带领大家简单入门。这样它就只会把有效的流量透传到数据库上,而把大部分的数据拦截在这一侧,从而达到了保护数据库的作用。 Redis从入门到进阶 今天跟大家交流一下Redis的一些学习材料,希望通过今天的分享,能够带领大家简单入门Redis。首先介绍一下什么是Redis? Redis全称是Remote Dictionar...

    Hwg 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<