(一)题目

编写一个 SQL 查询来实现分数排名。

如果两个分数相同,则两个分数排名(Rank)相同。请注意,平分后的下一个名次应该是下一个连续的整数值。换句话说,名次之间不应该有“间隔”。

重要提示:对于 MySQL 解决方案,如果要转义用作列名的保留字,可以在关键字之前和之后使用撇号。例如 `Rank`

(二)解题思路

1.利用mysql内置函数

# Write your MySQL query statement below
select score, DENSE_RANK() OVER (ORDER BY Score DESC) as 'Rank'
from Scores;
  • DENSE_RANK()。如果使用 DENSE_RANK() 进行排名会得到:1,1,2,3,4。
  • RANK()。如果使用 RANK() 进行排名会得到:1,1,3,4,5。
  • ROW_NUMBER()。如果使用 ROW_NUMBER() 进行排名会得到:1,2,3,4,5。

2.脑回路比较长,仅做参考

select a.Score as Score,
(select count(distinct b.Score) from Scores b where b.Score >= a.Score) as 'Rank'
from Scores a
order by a.Score DESC

(1)先降序排列分数

select a.Score as Score
from Scores a
order by a.Score DESC

(2)每个分数对应排名(比如小明的分数是x分,推算小明的排名?)

  • 假设小明的分数为90分,全班最高分是90,去重之后,个数为1,小明的排名就是1。若比90分大的还有91,92,去重个数为3,那么小明的排名为3,以此类推
select count(distinct b.Score) from Scores b where b.Score >= X as Rank;

以上两者合并,即为完整输出语句

数据库查询-分数排名相关推荐

  1. LeetCode数据库 178. 分数排名

    178. 分数排名 SELECT Score, (SELECT COUNT(DISTINCT(b.Score))# 查看有多少个b.Score大于等于当前的a.ScoreFROM Scores AS ...

  2. 分享3个CPU跑分数据库查询,AMD Inter cpu各项分数查询

    https://www.cpu-monkey.com/en/ https://us.rebusfarm.net/en/tempbench?view=benchmark https://www.cgdi ...

  3. 178.分数排名(数据库)

    178.分数排名(数据库) 题目 示例 解题 方法一 方法二 题目 编写 SQL 查询对分数进行排序.排名按以下规则计算: 分数应按从高到低排列. 如果两个分数相等,那么两个分数的排名应该相同. 在排 ...

  4. DB-Engines 3月数据库排行:排名前十数据库七成分数下降

    DB-Engines 数据库流行度排行榜 3 月更新已发布,排名前二十如下: 排名方面没有任何变动(仅针对前十),相信很长一段时间内也都不会变动,毕竟巨头的位置不是一时半刻就能动摇的.不过这个月的排行 ...

  5. 第一百三十九期:11月数据库排行:排名前三数据库分数暴跌

    DB-Engines 数据库流行度排行榜 11 月更新已发布,与上期数据相比,这期排行榜最大的亮点就是排名前三数据库那引人注目的"红色"分数. 作者:局长 DB-Engines 数 ...

  6. leetcode mysql 排名_(LeetCode:数据库)分数排名

    编写一个 SQL 查询来实现分数排名.如果两个分数相同,则两个分数排名(Rank)相同.请注意,平分后的下一个名次应该是下一个连续的整数值.换句话说,名次之间不应该有"间隔".+- ...

  7. 编写一个 SQL 查询来实现分数排名

    每日一题,第一篇 1.编写一个 SQL 查询来实现分数排名. 如果两个分数相同,则两个分数排名(Rank)相同.请注意,平分后的下一个名次应该是下一个连续的整数值.换句话说,名次之间不应该有" ...

  8. leetcode数据库题库-178. 分数排名

    leetcode数据库题库-178. 分数排名https://leetcode-cn.com/problems/rank-scores/题目核心是[重复且连续]的排序 ,排序相关函数简单整理下 一.R ...

  9. LeetCode力扣刷题数据库(178):分数排名

    178分数排名 表: Scores +-------------+---------+ | Column Name | Type | +-------------+---------+ | id | ...

  10. 2021北京市高考成绩排名查询,北京2021高考分数排名换算

    6选3模式简介 从2020年起,北京市统一高考科目调整为语文.数学.外语3门,不分文理科,每门科目满分150分,总分450分.物理.化学.生物.历史.地理.政治6门科目选择3门进行高考. 即" ...

最新文章

  1. R语言可视化包ggplot2绘制甘特图(gantt chart)实战
  2. 超详细派克斯使用安装教程
  3. 【推荐】由浅入深学FI—获利能力分析
  4. 2021年,Java开发者值得学习的13项技能
  5. 组件库实战 | 教你如何设计Web世界中的表单验证
  6. 正则表达式在iOS中的运用
  7. 消除数字鸿沟,这些开发者要让代码有“温度”
  8. Selenium碰到的异常记录
  9. termux配置python安装kali_利用termux安装kali
  10. android fps性能分析,Android性能专项FPS测试实践(二)
  11. [UE4]在UI中获取玩家角色实例
  12. JavaWeb网上商城项目中用户注册,使用MailServer和FoxMail搭建本地邮件服务器
  13. linux考试中的7654_Excel工作表G8单元格的值为7654.375,执行某些操作之后,在G8单元格中显示一串“”符号,说明G8单元格的()...
  14. python中bttext什么意思_Python实现解析Bit Torrent种子文件内容的方法
  15. img图片在webpack中使用
  16. 腾讯安全发布《BOT管理白皮书》|解读BOT攻击,探索防护之道
  17. 墨西哥海运专线时效,有哪些墨西哥专线货代?
  18. Linux操作系统——磁盘管理
  19. 电力系统 matlab,利用matlab解决电力系统规划问题
  20. Linux命令的英文含义(便捷记忆)

热门文章

  1. BEC高级商务英语考试应试技巧指南
  2. 数模论文格式小技巧(符号说明三线表)
  3. JavaScript绘制矢量图
  4. 桌面快捷方式自动创建 病毒
  5. 微软拼音中设置小鹤双拼
  6. 塞班3的java键盘_【图片】Symbian3系统简介【塞班3吧】_百度贴吧
  7. 各个版本JDK官方下载地址
  8. 当黑客被抓是种怎样的体验?
  9. 教你六步拆解 DDD领域驱动设计落地实践
  10. 高质量C++/C编程指南(第11章 其它编程经验)