SQL排名问题(薪资,成绩等排序问题)
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排名问题(薪资,成绩等排序问题)相关推荐
- 第一篇博客-Sql排名函数DENSE_RANK
Sql排名函数☞DENSE_RANK 1.DENSE_RANK函数介绍 dense_rank函数用于返回结果集的分区内每行的排名,函数考虑到了over子句中排序字段值相同的情况,over子句中排序字段 ...
- c语言按学号查询学生排名极其考试成绩,C语言--学生成绩管理系统
某班最多有不超过30人(具体人数由键盘输入)参加某门课程的考试.用一维数组作函数参数实现如下学生成绩管理: (1)录入每个学生学号和考试成绩: (2)计算课程的总分和平均分: (3)按成绩由高到低排出 ...
- sql查询所有课程成绩大于80的学生的姓名
有一张student_info表 请用sql查询所有课程成绩大于80的学生姓名 name class score 张三 语文 70 张三 数学 82 李四 语文 90 李四 数学 60 王五 语文 9 ...
- SQL练习:创建四个数据表,录入学生信息,通过SQL语句查询学生成绩
声明:此次操作基于Oracle数据库!! 题目:创建数据表,将学生详细信息,班级信息,选课信息,课程成绩写入其中,最终通过SQL语句查询学生成绩信息 --创建学生信息表(表的数量不为1),将学生信息, ...
- 基于hive的SQL排名函数详解
前言 在hive的学习中接触到了三种很实用的排名函数,这些函数在Mysql8.0版本中也已存在, 分别是:Rank(),Dense_rank(),Row_number(), 虽然都是排名函数,但三者间 ...
- sql 除以_不可思议的SQL排名函数,被您无视了么?
经常写SQL脚本的朋友,对查询的多样化要求可能会经常头疼.数据库SQL的语法是固定的.但应用要求却是千差万别的.依靠我们所掌握的知识,大部分的查询需求我们还是有办法的解决的,但总有那么一些要求,把我们 ...
- java实现相同分数排名_java做成绩排名表,如何实现同分同名次
https://zhidao.baidu.com/question/1900171286360976020.html?qq-pf-to=pcqq.c2c 思路: 排序肯定还是要排的, 按照Java成绩 ...
- 两英中学2021高考成绩查询,2021年广东高中排名,高中高考成绩排名一览表
一所高中学校好不好,主要看生源.师资.管理.高考成绩四个方面.诚然生源.师资.管理很重要,但是最终决定孩子前途命运的还是高考成绩,况且高考成绩很好的话,其它三个必然不会差.因此,小编觉得高考成绩可以直 ...
- mysql 查询成绩排名_mysql 学生成绩查询排名
sql语句查询排名 思路:有点类似循环里面的自增一样,设置一个变量并赋予初始值,循环一次自增加1,从而实现排序: mysql里则是需要先将数据查询出来并先行按照需要排序的字段做好降序desc,或则升序 ...
最新文章
- 虚拟机cenos 重置密码
- 从实体类get方法拿不到值,可能是字段带_的原因
- Django系列之启动入口源码分析
- ios linux时间戳转时间,将UNIX时间戳转换为数据 – iOS
- pyhanlp 共性分析与短语提取
- mysql tcp ip_通过TCP/IP连接Mysql数据库
- 【jeecg Docker安装】使用 Docker 搭建 Java Web 运行环境
- HBase之Region Compact流程分析
- Fence Repair (poj3253)
- 软件因丢失.dll文件(未找到)而无法启动?
- webpack编译流程漫谈
- Andro - Multipurpose OpenCart 2.X 自适应主题模板 ABC-0651
- 2022最新版sci和ssci双检索期刊,详细期刊目录值得了解!
- 如何使用计算机勾绘汇水面积,水文计算算例
- 【React】1332- 2022 年值得推荐的 React 库
- visual studio 2008 提示 “函数xxx 已有主体”
- 帆软报表-frm报表,报表块作为标题 下划线特效
- numpy函数之np.maximum
- 【Day3.1】拥有个奇怪索道的拷王宫
- word转pdf保持图片清晰度