概述

MySQL 自带的排名的函数,主要有:

  • row_number()
  • rank()
  • dense_rank()
  • ntile()

测试数据

测试数据如下所示:

row_number() 函数

用法如下:

SELECT row_number() OVER (ORDER BY Salary DESC) row_num,Salary
FROMEmployee

查询结果如下:

注意,row_number() 函数在 Salary 相等的情况下,行号是递增的

rank() 函数

SELECT rank() OVER (ORDER BY Salary DESC) row_num,Salary
FROMEmployee

查询结果如下所示:

可以发现

  • Salary 相等的情况下,行号是相等的。
  • Salary 相等的一批数据的下一个 Salary 的行号不是连续的,比如说有两个 Salary 的行号都是 2,那么下个 Salary 的行号将会是 4

dense_rank() 函数

用法如下:

SELECT dense_rank() OVER (ORDER BY Salary DESC) row_num,Salary
FROMEmployee

查询结果如下所示:

注意,与 rank() 的区别为,Salary 相等的一批数据的下一个 Salary 的行号是连续的,比如说有两个 Salary 的行号都是 2,那么下个 Salary 的行号将会是 3

ntile() 函数

用法如下:

SELECT ntile(3) OVER (ORDER BY Salary DESC) row_num,Salary
FROMEmployee

查询结果如下所示:

ntile(int n) 函数,是把查询结果进行分组的函数,将查询结果分为 n

MySQL 排名函数.md相关推荐

  1. MySQL排名函数实现

    作者:神易风 原文链接(底部链接可直达):https://shenyifengtk.github.io/2020/07/22/MySQL%E6%8E%92%E5%90%8D%E5%87%BD%E6%9 ...

  2. mysql排名函数使用

    1.percent_rank()函数 PERCENT_RANK()函数计算分区或结果集中行的百分位数排名这PERCENT_RANK()是一个窗口函数, 用于计算分区或结果集中行的百分位数. 以下显示了 ...

  3. MySQL 排名函数

    https://blog.csdn.net/qq686867/article/details/79355760

  4. mysql的排名函数怎么用_MySQL排名函数

    MySQL排名函数 MySQL使用一种排名功能,该函数使我们能够对数据库中分区的每一行进行排名.排名函数还是MySQL窗口函数的一部分. MySQL中的排名函数可以与以下子句一起使用: 他们总是使用O ...

  5. LeetCode MySQL 1454. 活跃用户(连续dense_rank排名函数)

    文章目录 1. 题目 2. 解题 1. 题目 表 Accounts: +---------------+---------+ | Column Name | Type | +------------- ...

  6. mysql 排名_学会在MySQL中实现Rank高级排名函数,所有取前几名问题全部解决.

    MySQL中没有Rank排名函数,当我们需要查询排名时,只能使用MySQL数据库中的基本查询语句来查询普通排名.尽管如此,可不要小瞧基础而简单的查询语句,我们可以利用其来达到Rank函数一样的高级排名 ...

  7. mysql rank_在MySQL中实现Rank高级排名函数

    MySQL中没有Rank排名函数,当我们需要查询排名时,只能使用MySQL数据库中的基本查询语句来查询普通排名.尽管如此,可不要小瞧基础而简单的查询语句,我们可以利用其来达到Rank函数一样的高级排名 ...

  8. Mysql数据库(八)排名函数

    Mysql数据库(八)排名函数 mysql中排名函数有三个 1.row_number():表示排序,成绩相同,也不重复 2.rank():表示排序,成绩相同,排名重复,但跳跃 3.dense_rank ...

  9. MYSQL实现排名函数RANK,DENSE_RANK和ROW_NUMBER

    文章目录 1. 排名分类 1.1 区别RANK,DENSE_RANK和ROW_NUMBER 1.2 分组排名 2. 准备数据 3. 不分组排名 3.1 连续排名 3.2 并列跳跃排名 3.3 并列连续 ...

最新文章

  1. Redhate5.4下Oracle 11g安装
  2. Unity WebGL 窗口自适应
  3. 采用成员函数和友元函数计算给定两个坐标点之间的距离
  4. matlab求逆矩阵_MPU6050姿态解算2-欧拉角amp;旋转矩阵
  5. apache+php
  6. 开放 API 接口签名验证,让你的接口从此不再裸奔 !
  7. Eureka 控制台参数说明
  8. ev3编码软件linux,机器人编程软件下载 乐高ev3机器人编程软件(LEGO MINDSTORMS EV3 Home Edition)V1.3.1 中文安装版 下载-脚本之家...
  9. Protoc与GRPC的使用
  10. Win10内置应用误卸载恢复方法
  11. python-字符串的操作方法_format_列表的操作
  12. day10、2 - 小小综合实验升级
  13. SQL 语句判断英文大小写
  14. 1. 抽纸片(java)
  15. html表格美化模板,JavaScript + CSS 美化出的条纹表格样式
  16. 远程计算机云电脑,教你一招 手机免费变云电脑可以玩PC云游戏
  17. Motrix Mac版baidu网盘下载器使用方法!!
  18. Python编写程序求解一元二次方程,打印九九乘法表,判断三条边是否可以构成三角形,并求三角形面积
  19. 大概这就是“无监督学习”的机器学习算法实例
  20. LocalDate计算两个日期间距离

热门文章

  1. 距离传感器控制灯泡代码_生迪全彩智能 LED 灯泡体验评测
  2. vc++中画线时xor_C ++'xor_eq'关键字和示例
  3. linkedhashset_Java LinkedHashSet clear()方法与示例
  4. stl max函数_std :: max_element()函数以及C ++ STL中的示例
  5. 11个小技巧,玩转Spring!
  6. MySQL 命令和内置函数
  7. struts2的java.lang.NoSuchMethodException异常处理
  8. EF中DB First模式下数据库中表结构变化时如何快速同步到EF模型中
  9. C#利用反射将Datatable转化为指定实体类ListT
  10. sentry + vue实现错误日志监控