分数排名

编写一个 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    |
+-------+------+
select s1.Score,(select count(distinct score) from scores where score >=s1.score) as Rank from Scores s1 order by Score desc

原文地址:https://www.cnblogs.com/baby123/p/10819283.html

时间: 2024-10-11 22:59:58

分数排名的相关文章

利用awk处理学生分数排名问题案例

利用awk处理学生分数排名问题真实案例如下: 1.已知老男孩教育运维班26期期中集群架构上台述职报告人员的分数为: 提示:由述职学员上台演讲搭建的集群架构,由学生评委和导师评分,历经2天共产生如下评分 [[email protected] ~]# cat oldboy_student.txt 冯泉    100     100     96      95      100     96      100     97 万永振  100     95      90      88      9

SOJ.分数排名查询

分数排名查询     总提交数量: 641 通过数量: 239                 时间限制:1秒    内存限制:256兆 题目描述 张老师在同学们考试结束后,收到很多邮件. 有的同学问学号为"12号"的多少分? 有的同学问学号为"18号"的排名第几? 有的同学问80分全班排第几? 还有的同学问90分的全班有几个人? 张老师手上有所有同学的分数,请你写一个程序帮他去回答这些问题. 输入格式 输入由两部分组成,第一部分为同学的分数.第一行n为同学的数量(

Django项目:CRM(客户关系管理系统)--75--65PerfectCRM实现CRM课程分数排名

1 # classtop_urls.py 2 # --------64PerfectCRM实现CRM课程排名详情-------- 3 from django.conf.urls import url 4 from bpm.coursetop import coursetop_views 5 urlpatterns = [ 6 url( r'^coursetop_details/(\d+)/$', coursetop_views.coursetop_details, name="coursetop

LeetCode-178:分数排名

题目描述: 编写一个 SQL 查询来实现分数排名.如果两个分数相同,则两个分数排名(Rank)相同.请注意,平分后的下一个名次应该是下一个连续的整数值.换句话说,名次之间不应该有“间隔”. +----+-------+ | Id | Score | +----+-------+ | 1 | 3.50 | | 2 | 3.65 | | 3 | 4.00 | | 4 | 3.85 | | 5 | 4.00 | | 6 | 3.65 | +----+-------+ 例如,根据上述给定的 Scores

力扣——分数排名(数据库的题

编写一个 SQL 查询来实现分数排名.如果两个分数相同,则两个分数排名(Rank)相同.请注意,平分后的下一个名次应该是下一个连续的整数值.换句话说,名次之间不应该有"间隔". +----+-------+ | Id | Score | +----+-------+ | 1 | 3.50 | | 2 | 3.65 | | 3 | 4.00 | | 4 | 3.85 | | 5 | 4.00 | | 6 | 3.65 | +----+-------+ 例如,根据上述给定的 Scores 

MYSQL分数排名

编写一个 SQL 查询来实现分数排名.如果两个分数相同,则两个分数排名(Rank)相同.请注意,平分后的下一个名次应该是下一个连续的整数值.换句话说,名次之间不应该有“间隔”. +----+-------+| Id | Score |+----+-------+| 1 | 3.50 || 2 | 3.65 || 3 | 4.00 || 4 | 3.85 || 5 | 4.00 || 6 | 3.65 |+----+-------+例如,根据上述给定的 Scores 表,你的查询应该返回(按分数从

Oracle 分数排名

--例子:5个100分的并排第一,3个90分的并列第二 select * from (select dense_rank() over (order by VEHICLE_SCORE desc ) RN,VIN,VEHICLE_SCORE from MAIN_VEHICLE where VEHICLE_SCORE IS NOT NULL) where vin like '%EX046172%'; --例子:5个100分的并列第一,2个90分的并列第6 select * from (select

LeetCode:Rank Scores - 按分数排名次

1.题目名称 Rank Scores(按分数排名次) 2.题目地址 https://leetcode.com/problems/rank-scores/ 3.题目内容 按分数排名次,如果两个Id的分数一样,那么他们的名次是一样的,排名从1开始.注意,每组分数的名次,都是上一组分数名次加一. 例如,有这样一组数据: +----+-------+ | Id | Score | +----+-------+ | 1  | 3.50  | | 2  | 3.65  | | 3  | 4.00  | | 

MySQL实现排名并查询指定用户排名功能,并列排名功能

MySQL实现排名并查询指定用户排名功能,并列排名功能 表结构: CREATE TABLE test.testsort ( id int(11) NOT NULL AUTO_INCREMENT, uid int(11) DEFAULT 0 COMMENT '用户id', score decimal(10, 2) DEFAULT 0.00 COMMENT '分数', PRIMARY KEY (id) ) ENGINE = INNODB AUTO_INCREMENT = 1 CHARACTER SE