数据库练习——leetcode(178):分数排名
2020-03-24 19:16
549 查看
文章目录
数据库练习——leetcode(178):分数排名
一、题目
二、解析
首先我们看到输出结果有两列,因此我们要查询的是两个东西,一个是分数,一个是排名。分数好查,普通查询加一个排序即可,那我们应该如何计算排名?你给一个分数,要计算这个分数排第几名只需要知道你前面有多少个distinct分数比你高的即可,然后再count一下。
- 第一步:查询分数(我们暂时先不排序)
select s1.score as Score from Scores as s1
- 第二步:计算排名, 从哪里查?从一个没有重复分数的表格中查
select count(*) from (select distinct score from Score) as s2 where s2.score>= s1.score
- 第三步:将他们结合起来,并按照排名的顺序进行排序
select s1.score as Score , (select count(*) from (select distinct score from Scores) as s2 where s2.score>= s1.score) as Rank from Scores as s1 order by Rank
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- LeetCode_SQL_【178.分数排名】
- LeetCode(178)-分数排名
- 数据库练习——leetcode(184):部门工资最高的员工(in的骚操作:两个字段竟然也可以用in)
- 数据库练习——leetcode(183):从不订购的客户(左连接)
- 178. 分数排名
- 数据库练习——leetcode(182):查找所有重复的电子邮箱(如何查找一个字段中重复的数字group by 与having)
- 数据库查询-分数排名
- 数据库练习——leetcode(181):超过经理收入的员工
- 数据库练习——leetcode(180):连续出现的数字
- 力扣数据库题目: 分数排名(中等)
- 数组以及冒泡排序练习——分数排名题
- 178.分数排名
- 数据库练习——leetcode(185):部门工资前三高的员工(骚操作,选取每个部门前三名的工资)
- leetCode练习(113)
- 数据库基础语句,聚合函数,练习
- leetCode练习(50)
- leetcode练习之数组33.搜索旋转排序数组
- 数据库->SQL Server2005->第4季SQL从入门到提高->13练习1
- MYSQL 导出数据库中某张表的部分数…
- 数据库练习——表的创建与增删改查