mysql 成绩排序

摘要:
编写一个SQL查询来实现分数排名。如果两个分数相同,则两个分数排名相同。请注意,平分后的下一个名次应该是下一个连续的整数值。+----+-------+|Id|Score|+----+-------+|1|3.50||2|3.65||3|4.00||4|3.85||5|4.00||6|3.65|+----+-------+来源:力扣链接:https://leetcode-cn.com/problems/rank-scores著作权归领扣网络所有。

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

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

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

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/rank-scores
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

# Write your MySQL query statement below
SELECT t3.score 'Score', CONVERT(t4.rownum, SIGNED) 'Rank' FROM `Scores` t3
JOIN (SELECT score, @rownum:=@rownum+1 AS rownum
FROM (SELECT score FROM (SELECT * FROM `Scores` GROUP BY score) t ORDER BY t.score DESC) t1, (SELECT @rownum:=0) t2) t4
ON t3.score = t4.score ORDER BY t3.score DESC

免责声明:文章转载自《mysql 成绩排序》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Java内存管理的小技巧基于java.util.logging实现轻量级日志记录库(增加根据当前类class初始化,修复线程池模型(javaEE)下的堆栈轨迹顺序与当前调用方法不一致问题)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

转 MYSQL监控工具--mytop

MYSQL监控工具--mytop   https://mp.weixin.qq.com/s/1X_uZaajImRRmpAsdLsNGw mysql可以说如今最为流行的数据库了,虽然现在nosql的风头正盛。但我想很多公司重要的业务数据不会用nosql去跑。而在这些方面mysql似乎的使用更盛(开源免费,让我花钱去买oracle,我想我是不会买的)。君...

docker运行mysql容器自动停止的问题解救方案如下

在docker中启动的mysql容器会自动停止是因为mysql使用的内存过多; 解决方法如下: 1、先卸载之前的mysql容器,如下: docker ps -a #获取docker中的所有容器   通过docker rm cbb412415aab进行卸载删除 2、重新运行mysql容器: docker run -it -m 300M --memo...

修改MySQL的默认数据存储引擎

因为MySQL默认的是MyISAM数据引擎,不支持事务也不支持外键,所以需要用到Innodb引擎,于是决定将mysql的默认引擎设置为innodb。1 . 查看MySQL存储引擎是用的哪个?登录MySQL数据库,在mysql>提示符下搞入show engines;命令。+------------+---------+-----------------...

Jenkins操作手册 巨详细,一篇足矣!

一、持续集成相关概念 1.1、什么是持续集成? 随着软件开发复杂度的不断提高,团队开发成员间如何更好的协同工作以确保软件开发的质量已经成为开发过程中不可回避的问题。尤其是近年来敏捷开发在软件领域越来越火,如何能在不间断变化的需求中快速适应和保证软件的质量显得尤其重要。持续集成正是针对这一问题的一种软件开发实践。它倡导团队开发成员必须经常集成他们的工作,甚至...

一次读懂 Select、Poll、Epoll IO复用技术

我们之前采用的多进程方式实现的服务器端,一次创建多个工作子进程来给客户端提供服务。其实这种方式是存在问题的。 可以打个比方:如果我们先前创建的几个进程承载不了目前快速发展的业务的话,是不是还得增加进程数?我们都知道系统创建进程是需要消耗大量资源的,所以这样就会导致系统资源不足的情况。 那么有没有一种方式可以让一个进程同时为多个客户端端提供服务? 接下来要讲...

mysql 动态拼接表字段,值 mybatis 动态获取表字段

-- 取表所有字段,自动用逗号分开 select GROUP_CONCAT(DISTINCT COLUMN_NAME) from information_schema.columns where table_name='tb1'结果集:  字段1,字段2,字段3,字段4..... -- 动态拼接字段,给mybatis用 某些业务情况下没有去使用自动生成代...