美文网首页
mysql 分数排名

mysql 分数排名

作者: 幻无虚生 | 来源:发表于2019-05-29 10:48 被阅读0次

编写一个 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 |
+-------+------+

Create table If Not Exists Scores (Id int, Score DECIMAL(3,2))
Truncate table Scores
insert into Scores (Id, Score) values ('1', '3.5')
insert into Scores (Id, Score) values ('2', '3.65')
insert into Scores (Id, Score) values ('3', '4.0')
insert into Scores (Id, Score) values ('4', '3.85')
insert into Scores (Id, Score) values ('5', '4.0')
insert into Scores (Id, Score) values ('6', '3.65')

select Score ,(select count(distinct Score) from Scores where Score>=s.Score)as Rank from Scores as s order by s.Score desc;

相关文章

  • mysql 分数排名

    编写一个 SQL 查询来实现分数排名。如果两个分数相同,则两个分数排名(Rank)相同。请注意,平分后的下一个名次...

  • MySQL排名函数实现

    本文出处MySQL排名函数实现转载请说明出处 现在有个需求对所有学生分数进行排名,并且列出名次。刚看到这个需求,我...

  • mysql分数问题

    1. 分数排名(mysql添加序号) 使用@xx 可以设置一个变量,然后在from后天添加selelct @xx:...

  • 分数排名

    法一:对于每个分数,找出大于或等于该分数的不重复分数,并按降序排列。 法二:利用join,条件是统计左表的分数小于...

  • 【MySQL】-4 练习题

    本周整理几个leetcode题目 排名题:编写一个 SQL 查询来实现分数排名。如果两个分数相同,则两个分数排名(...

  • 178.分数排名

    题目来源 leetcode 178.分数排名 题目内容 编写一个 SQL 查询来实现分数排名。如果两个分数相同,则...

  • 题解

    第二高的薪水 连续出现的数字 分数排名 mysql join 部门工资最高的员工 部门工资前三高的所有员工 删除重...

  • [leetCode]分数排名

    sql架构: 解决方法一: DISTINCT的用法 在使用MySQL时,有时需要查询出某个字段不重复的记录,这时可...

  • [leetCode]分数排名

    sql架构: 解决方法一: DISTINCT的用法 在使用MySQL时,有时需要查询出某个字段不重复的记录,这时可...

  • 【leetcode】178. 分数排名-中等

    【题目】 编写一个 SQL 查询来实现分数排名。 如果两个分数相同,则两个分数排名(Rank)相同。请注意,平分后...

网友评论

      本文标题:mysql 分数排名

      本文链接:https://www.haomeiwen.com/subject/xlketctx.html