SQL排名问题(薪资,成绩等排序问题)
题目来源
牛客:https://www.nowcoder.com/practice/b9068bfe5df74276bd015b9729eec4bf?tpId=82&&tqId=29775&rp=1&ru=/ta/sql&qru=/ta/sql/question-ranking

select emp_no,salary ,dense_rank() over (order by salary desc) as rank
from salaries
order by  rank asc,emp_no asc

拓展

sql四大排名函数

1、ROW_NUMBER()

解释:当结果出现薪水相同的时候也不进行并列排序,只是123456按数据增加序号,不能用于排名,一般用于分页查询

select emp_no,salary ,ROW_NUMBER() over (order by salary desc) rank
from salaries
order by  rank asc,emp_no asc

2、rank()
解释:可以进行跳跃性的薪资排名。比如两人并列第二,直接跳过第三名,如下图结果:

select emp_no,salary ,rank() over (order by salary desc) rank
from salaries
order by  rank asc,emp_no asc


3、dense_rank()
解释:用于不跳跃的薪资排名。如下图结果:

select emp_no,salary ,dense_rank() over (order by salary desc) rank
from salaries
order by  rank asc,emp_no asc


4、NTILE()
按序号分组;用于一组数分成几个小组
例1

select emp_no,salary ,ntile(4) over (order by salary desc) rank
from salaries
order by  rank asc,emp_no asc

实际输出

例2

select emp_no,salary ,ntile(3) over (order by salary desc) rank
from salaries
order by  rank asc,emp_no asc

实际输出:

SQL排名问题(薪资,成绩等排序问题)相关推荐

  1. 第一篇博客-Sql排名函数DENSE_RANK

    Sql排名函数☞DENSE_RANK 1.DENSE_RANK函数介绍 dense_rank函数用于返回结果集的分区内每行的排名,函数考虑到了over子句中排序字段值相同的情况,over子句中排序字段 ...

  2. c语言按学号查询学生排名极其考试成绩,C语言--学生成绩管理系统

    某班最多有不超过30人(具体人数由键盘输入)参加某门课程的考试.用一维数组作函数参数实现如下学生成绩管理: (1)录入每个学生学号和考试成绩: (2)计算课程的总分和平均分: (3)按成绩由高到低排出 ...

  3. sql查询所有课程成绩大于80的学生的姓名

    有一张student_info表 请用sql查询所有课程成绩大于80的学生姓名 name class score 张三 语文 70 张三 数学 82 李四 语文 90 李四 数学 60 王五 语文 9 ...

  4. SQL练习:创建四个数据表,录入学生信息,通过SQL语句查询学生成绩

    声明:此次操作基于Oracle数据库!! 题目:创建数据表,将学生详细信息,班级信息,选课信息,课程成绩写入其中,最终通过SQL语句查询学生成绩信息 --创建学生信息表(表的数量不为1),将学生信息, ...

  5. 基于hive的SQL排名函数详解

    前言 在hive的学习中接触到了三种很实用的排名函数,这些函数在Mysql8.0版本中也已存在, 分别是:Rank(),Dense_rank(),Row_number(), 虽然都是排名函数,但三者间 ...

  6. sql 除以_不可思议的SQL排名函数,被您无视了么?

    经常写SQL脚本的朋友,对查询的多样化要求可能会经常头疼.数据库SQL的语法是固定的.但应用要求却是千差万别的.依靠我们所掌握的知识,大部分的查询需求我们还是有办法的解决的,但总有那么一些要求,把我们 ...

  7. java实现相同分数排名_java做成绩排名表,如何实现同分同名次

    https://zhidao.baidu.com/question/1900171286360976020.html?qq-pf-to=pcqq.c2c 思路: 排序肯定还是要排的, 按照Java成绩 ...

  8. 两英中学2021高考成绩查询,2021年广东高中排名,高中高考成绩排名一览表

    一所高中学校好不好,主要看生源.师资.管理.高考成绩四个方面.诚然生源.师资.管理很重要,但是最终决定孩子前途命运的还是高考成绩,况且高考成绩很好的话,其它三个必然不会差.因此,小编觉得高考成绩可以直 ...

  9. mysql 查询成绩排名_mysql 学生成绩查询排名

    sql语句查询排名 思路:有点类似循环里面的自增一样,设置一个变量并赋予初始值,循环一次自增加1,从而实现排序: mysql里则是需要先将数据查询出来并先行按照需要排序的字段做好降序desc,或则升序 ...

最新文章

  1. 虚拟机cenos 重置密码
  2. 从实体类get方法拿不到值,可能是字段带_的原因
  3. Django系列之启动入口源码分析
  4. ios linux时间戳转时间,将UNIX时间戳转换为数据 – iOS
  5. pyhanlp 共性分析与短语提取
  6. mysql tcp ip_通过TCP/IP连接Mysql数据库
  7. 【jeecg Docker安装】使用 Docker 搭建 Java Web 运行环境
  8. HBase之Region Compact流程分析
  9. Fence Repair (poj3253)
  10. 软件因丢失.dll文件(未找到)而无法启动?
  11. webpack编译流程漫谈
  12. Andro - Multipurpose OpenCart 2.X 自适应主题模板 ABC-0651
  13. 2022最新版sci和ssci双检索期刊,详细期刊目录值得了解!
  14. 如何使用计算机勾绘汇水面积,水文计算算例
  15. 【React】1332- 2022 年值得推荐的 React 库
  16. visual studio 2008 提示 “函数xxx 已有主体”
  17. 帆软报表-frm报表,报表块作为标题 下划线特效
  18. numpy函数之np.maximum
  19. 【Day3.1】拥有个奇怪索道的拷王宫
  20. word转pdf保持图片清晰度

热门文章

  1. stm32看门狗工作原理
  2. 3D Slicer/ITK-SNAP常见使用
  3. java中inner的用法_Java——内部类(inner class)
  4. 巧用信息基础设施管理软件工具,运维工作效率提升200%以上
  5. 梦幻西虚拟机 不能玩提示说不能在虚拟机上玩怎么办?
  6. 淘宝App惊现“内测版本弹屏”P0级事故!5张淘宝架构PPT,剖析事故始末
  7. WPF 关键字高亮实现方式
  8. eyb快递查询方法_快递网点查询方法 看完你就知道了
  9. JavaScript粗略总结
  10. 组合数据类型——字典(dict)