广告
返回顶部
首页 > 资讯 > 数据库 >178. 分数排名
  • 783
分享到

178. 分数排名

178.分数排名 2021-10-15 22:10:27 783人浏览 才女
摘要

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

178. 分数排名

题目描述

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

重要提示: 对于 Mysql 解决方案,如果要转义用作列名的保留字,可以在关键字之前和之后使用撇号。例如 `Rank`

题解

# Write your mysql query statement below
SELECT 
  Score,
  DENSE_RANK() OVER(ORDER BY Score DESC) AS `Rank`
FROM
  Scores;

DENSE_RANKRANKROW_NUMBER 的使用说明

Function Description
DENSE_RANK 并列连续排名
RANK 并列跳跃排名
ROW_NUMBER 连续排名

eg.

--------------------------------------------------------
-- table_name: Scores
--
-- +----+-------+
-- | id | score |
-- +----+-------+
-- | 1  | 78    | 
-- | 2  | 89    |
-- | 3  | 86    |
-- | 4  | 91    |
-- | 5  | 78    |
-- | 6  | 89    |
-- | 7  | 89    |
-- +----+-------+
--------------------------------------------------------

--------------------------------------------------------
SELECT 
  id,
  score,
  DENSE_RANK() OVER(ORDER BY score DESC) AS `DENSE_RANK`,
  RANK() OVER(ORDER BY score DESC) AS `RANK`,
  ROW_NUMBER() OVER(ORDER BY score DESC) AS `ROW_NUMBER`
FROM
  Scores;
--------------------------------------------------------

--------------------------------------------------------
-- result:
-- 
-- +----+-------+------------+------+------------+
-- | id | score | DENSE_RANK | RANK | ROW_NUMBER |
-- +----+-------+------------+------+------------+
-- | 4  | 91    | 1          | 1    | 1          |
-- | 2  | 89    | 2          | 2    | 2          |
-- | 6  | 89    | 2          | 2    | 3          |
-- | 7  | 89    | 2          | 2    | 4          |
-- | 3  | 86    | 3          | 5    | 5          |
-- | 1  | 78    | 4          | 6    | 6          |
-- | 5  | 78    | 4          | 6    | 7          |
-- +----+-------+------------+------+------------+
--------------------------------------------------------
您可能感兴趣的文档:

--结束END--

本文标题: 178. 分数排名

本文链接: https://www.lsjlt.com/news/7572.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 178. 分数排名
    题目描述 编写一个 SQL 查询来实现分数排名。 如果两个分数相同,则两个分数排名(Rank)相同。请注意,平分后的下一个名次应该是下一个连续的整数值。换句话说,名次之间不应该有“间隔”。 +----+-------+ | Id ...
    99+
    2021-10-15
    178. 分数排名
  • SQL实现LeetCode(178.分数排行)
    [LeetCode] 178.Rank Scores 分数排行 Write a SQL query to rank scores. If there is a tie between...
    99+
    2022-11-12
  • MySql实现按分数排名
    MySql实现分数排名 1.准备工作 创建一个简单的数据表,分数表,根据分数进行排名,创建数据表的sql如下,并插入几行数据。 CREATE TABLE `t_score` ( `id` int N...
    99+
    2023-09-01
    mysql 数据库 java
  • python数据分析之DateFrame数据排序和排名方式
    目录1.数据排序2.按某列降序排序3.按多列升降序排列4.对统计结构排序5.数据排名1.数据排序 DataFrame.sort_values(by,axis=0,ascending=...
    99+
    2022-11-11
  • SQLServer中的排名函数与分析函数详解
    一、排名开窗函数概述 SQL Server的排名函数是对查询的结果进行排名和分组,TSQL共有4个排名函数,分别是:ROW_NUMBER、RANK、DENSE_RANK和NTILE。...
    99+
    2022-11-13
  • 阿里云数据库市场排名及产品分析
    阿里云数据库市场排名一直是云计算领域的关注焦点。本文将对阿里云数据库市场排名进行详细分析,同时介绍其主要产品特点和优势。 一、阿里云数据库市场排名根据最新的市场研究报告,阿里云数据库市场排名稳居全球前列。在全球数据库市场份额中,阿里云数据库...
    99+
    2023-11-01
    阿里 数据库 市场
  • MySQL分类排名和分组TOPN实例详解
    目录表结构题目一:获取每个科目下前五成绩排名(允许并列) 分析:题目二:获取每个科目下最后两名学生的成绩平均值分析:题目三:获取每个科目下前五成绩排名(不允许并列)&nbs...
    99+
    2022-11-12
  • python Pandas.rank() 排名函数详解
    文章目录 Pandas.rank() 函数详解一、参数解析二、案例分享默认排名`降序: ascending = False``method = 'min'``method = 'max'``m...
    99+
    2023-10-27
    pandas python 数据分析 numpy 机器学习
  • SQLServerRANK()排名函数的使用
    本文主要介绍了SQLServer RANK() 排名函数的使用,具体如下: -- 例子表数据 SELECT * FROM test; -- 统计分数 SELECT n...
    99+
    2022-11-13
  • 如何用rank函数排名
    这篇文章主要介绍了如何用rank函数排名的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何用rank函数排名文章都会有所收获,下面我们一起来看看吧。用rank函数排名的方法:首先进入空白单元格,然后输入:=RA...
    99+
    2023-07-02
  • MySQL查询排名的2种方式:变量排名、窗口函数
    如果你想在MySQL查询中进行排名,可以使用以下几种方法: 使用变量进行排名: 以下是一个基于分数对学生进行排名的示例: SET @rank = 0;SELECT @rank := @ran...
    99+
    2023-10-12
    mysql 数据库
  • MySQL中分类排名和分组TOP N的示例分析
    这篇文章主要介绍MySQL中分类排名和分组TOP N的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!表结构学生表如下:CREATE TABLE `t_student` ...
    99+
    2023-06-26
  • SQL如何查询排名函数
    这篇文章将为大家详细讲解有关SQL如何查询排名函数,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在实际开发中经常会遇到计算某个字段的排名的情况如下表:tot...
    99+
    2022-10-18
  • Sql中排名函数有哪些
    这篇文章主要介绍了Sql中排名函数有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。排名函数是Sql Server2005新增的功能,下面...
    99+
    2022-10-18
  • 大数据报表怎么实现对数据列进行排名分析
    这篇文章跟大家分析一下“大数据报表怎么实现对数据列进行排名分析”。内容详细易懂,对“大数据报表怎么实现对数据列进行排名分析”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“大数据报表...
    99+
    2023-06-03
  • Java怎么模拟rank/over函数实现获取分组排名
    这篇“Java怎么模拟rank/over函数实现获取分组排名”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java怎么模拟r...
    99+
    2023-07-06
  • MySQL中怎么解决分类排名问题
    本篇文章为大家展示了MySQL中怎么解决分类排名问题,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。01 需求介绍考虑MySQL中的一个经典应用:给定一个学生考试成绩...
    99+
    2022-10-18
  • 低代码平台排行2022年最新排名与深度分析
    低代码平台是近年来软件开发领域的一个热门话题。由于其高效、易用的特点,越来越多的公司开始使用低代码平台进行软件开发。然而,市场上低代码平台众多,如何选择一个适合自己公司需求的低代码平台呢?本文将对当前市场上的低代码平台进行排名,同时对每个平...
    99+
    2023-12-12
    深度 最新排名 代码
  • mysql分组排序取组内第一的数据行获取分组后,组内排名第一或最后的数据行。
    前言: group by函数后取到的是分组中的第一条数据,但是我们有时候需要取出各分组的最新一条,该怎么实现呢? 本文提供两种实现方式。 一、准备数据 DROP TABLE IF EXISTS `tb_dept`;CREATE TA...
    99+
    2023-09-08
    数据库 sql mysql
  • python列表排名用什么函数
    python中使用sort函数进行列表排名,具体方法如下:sort:sort()函数的作用是对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。sort()函数语法:list.sort( key=None, reverse=Fal...
    99+
    2022-10-16
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作