资讯专栏INFORMATION COLUMN

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

tinna / 2799人阅读

摘要:如果两个分数相同,则两个分数排名相同。请注意,平分后的下一个名次应该是下一个连续的整数值。例如,根据上述给定的表,你的查询应该返回按分数从高到低排列

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

+----+-------+
| Id | Score |
+----+-------+
| 1  | 3.50  |
| 2  | 3.65  |
| 3  | 4.00  |
| 4  | 3.85  |
| 5  | 4.00  |
| 6  | 3.65  |
+----+-------+

例如,根据上述给定的 Scores 表,你的查询应该返回(按分数从高到低排列):

+-------+------+
| Score | Rank |
+-------+------+
| 4.00  | 1    |
| 4.00  | 1    |
| 3.85  | 2    |
| 3.65  | 3    |
| 3.65  | 3    |
| 3.50  | 4    |
+-------+------+

sql:

SELECT
    Score,
    (
        SELECT
            count(DISTINCT score)
        FROM
            Scores
        WHERE
            score >= s.score
    ) AS Rank
FROM
    Scores s
ORDER BY
    Score DESC;

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

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

相关文章

  • 小李飞刀:SQL题目第二弹!

    摘要:执行效率第四题换座位难度中等小美是一所中学的信息科技老师,她有一张座位表,平时用来储存学生名字和与他们相对应的座位。其中纵列的是连续递增的小美想改变相邻俩学生的座位。 写在前面 最近都在忙着折腾Blog的事情,好几天前就做了的题,今天重新刷一遍,有些题目又不太会做了,看来还要三刷才行。主要刷的题目还是SQL相关的,最近感觉时间越来越紧迫了,要更加努力了呢!后续搭建了Gitbook的话,...

    李义 评论0 收藏0
  • leetCode数据查询笔记(中等)

    摘要:编写一个查询,找出每个部门工资最高的员工。思路笔记根据找出工资最高的员工公司列表因为了部门表,要确保部门必须存在 626. 换座位 小美是一所中学的信息科技老师,她有一张 seat 座位表,平时用来储存学生名字和与他们相对应的座位 id。 其中纵列的 id 是连续递增的 小美想改变相邻俩学生的座位。 你能不能帮她写一个 SQL query 来输出小美想要的结果呢? 示例: +-----...

    boredream 评论0 收藏0
  • leetCode数据查询笔记(中等)

    摘要:编写一个查询,找出每个部门工资最高的员工。思路笔记根据找出工资最高的员工公司列表因为了部门表,要确保部门必须存在 626. 换座位 小美是一所中学的信息科技老师,她有一张 seat 座位表,平时用来储存学生名字和与他们相对应的座位 id。 其中纵列的 id 是连续递增的 小美想改变相邻俩学生的座位。 你能不能帮她写一个 SQL query 来输出小美想要的结果呢? 示例: +-----...

    ThreeWords 评论0 收藏0
  • 提升sql水平,记录怒刷50道经典sql题【包含建表sql、答案sql、想提高sql水准的力荐一看】

    摘要:大概做个思路总结,即主体是查询同学的信息,即然后条件是他的在张三老师的授课课程里。 今年六月份离开学校了,隔一段时间对一些东西进行总结我坚信,时间会见证努力的脚步特此立文,刷网上比较热门的50道sql,里面的思路和sql均为本人刷题路上的记录欢迎大家学习探讨,有错也欢迎大家指出因为本人需要上班,一有空闲有脑力就会继续做题补充,欢迎收藏或者关注,以便后续阅读1.学生表Student(S#...

    W4n9Hu1 评论0 收藏0
  • MongoDB 如何实现实时排名

    摘要:总之,通过这样的保存方式,我们能够实现当学生成绩改变时,快速简单的修改数据库记录,而又能够实时的查询出新的排名了。 当我们将考试分数录入系统时,会要对学生的分数进行一个排名,这个不困难。困难的是当学生的分数变更时,如何实时更新这些排名? 如果我们将排名保存为一个字段,那么意味着每次修改分数都会导致重新计算排名,以及更新数据库中的排名字段值。这个计算量可大可小,极端的情况下,如果一个学生...

    why_rookie 评论0 收藏0

发表评论

0条评论

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