DENSE_RANK函数
SQL语句之DENSE_RANK函数:
DENSE_RANK()
是一个窗口函数,它为分区或结果集中的每一行分配排名,而排名值没有间隙。
DENSE_RANK()。如果使用 DENSE_RANK() 进行排名会得到:1,1,2,3,4。
RANK()。如果使用 RANK() 进行排名会得到:1,1,3,4,5。
ROW_NUMBER()。如果使用 ROW_NUMBER() 进行排名会得到:1,2,3,4,5。
实战:leetCode 185题,
部门工资前三高所有员工,包含部门中工资相同的员工,
select B.name AS Department,A.Employee,A.Salary
from (select DepartmentId ,name as employee,salary,dense_rank() over (partition by departmentid order by salary desc) as rkfrom employee
) A
left join department B on A.departmentid = B.id
where A.rk <= 3
其中,
PARTITION BY
子句将FROM
子句生成的结果集划分为分区。
ORDER BY
子句指定DENSE_RANK()
函数操作的每个分区中的行顺序。
DESC 是降序排列,ASC 是升序排列。
DENSE_RANK()
函数应用于每个分区。
LEFT JOIN 是左连接查询,从左表A那里返回所有的行,即使在右表B中没有匹配的行。
参考链接:MySQL DENSE_RANK() 函数 | 新手教程 (begtut.com)
DENSE_RANK函数相关推荐
- Sql server 2005 中的dense_rank()函数的应用
sql server 2005 排名提供dense_rank() 函数.实现起来非常简单. 示例如下: declare @t table(place int,score int) insert int ...
- MySQL DENSE_RANK函数简介
MySQL DENSE_RANK函数简介 DENSE_RANK()是一个窗口函数,它为分区或结果集中的每一行分配排名,而排名值没有间隙. 语法: DENSE_RANK() OVER (PARTITIO ...
- [Mysql] RANK()函数 | ROW_NUMBER()函数 | DENSE_RANK()函数
窗口函数的基本语法 <窗口函数> OVER ([PARTITION BY <用于分组的列>] ORDER BY <用于排序的列>) ※ []中的内容可以省略 注意: ...
- DENSE_RANK() 函数的使用
业务场景:按月对每个工地状态进行评分, 满分一百分, 对每个工地评分后, 进行排名, 要求相同分数的工地排名相同 在我不知道DENSE_RANK()这个函数前, 我是对每个工地进行算分,所有工地是一个 ...
- Hive的Rank排名(rank函数,dense_rank函数,row_numer函数)
目录 总结: 案例实操: 总结: RANK() 排序相同时会重复,总数不会变 DENSE_RANK() 排序相同时会重复,总数会减少 ROW_NUMBER() 会根据顺序计算 这三个函数常常和开窗函数 ...
- min聚合函数查询带有额外字段sql|dense_rank()over(partition)|+班级学生成绩最高
oracle爱好者和群snowg的问题 上面的这个,有站点stationid,year,month,day和每天记录的day_tmin字段. 现在要求统计处每个stationid下面每月每日的最小da ...
- oracle 四分位函数,Oracle分析函数四——函数RANK,DENSE_RANK,FIRST,LAST…
Oracle 分析函数--函数RANK,DENSE_RANK,FIRST,LAST- RANK 功能描述:根据 ORDER BY 子句中表达式的值,从查询返回的每一行,计算它们与其它行的相对位置.组内 ...
- SQL2005 四个排名函数(row_number、rank、dense_rank和ntile)的比较
排名函数是SQL Server2005新加的功能.在SQL Server2005中有如下四个排名函数row_number.rank.dense_rank和ntile,需要的朋友可以参考下. 排名函数是 ...
- SQL With As 用法Sql 四大排名函数(ROW_NUMBER、RANK、DENSE_RANK、NTILE)简介
Sql 四大排名函数(ROW_NUMBER.RANK.DENSE_RANK.NTILE)简介 排名函数是Sql Server2005新增的功能,下面简单介绍一下他们各自的用法和区别.我们新建一张Ord ...
- Oracle分析函数四——函数RANK,DENSE_RANK,FIRST,LAST…
Oracle分析函数--函数RANK,DENSE_RANK,FIRST,LAST- RANK 功能描述:根据ORDER BY子句中表达式的值,从查询返回的每一行,计算它们与其它行的相对位置.组内的数据 ...
最新文章
- 解决scrapy安装失败
- 论文速递:智能作为信息处理系统
- 消费者行为模型_市场调查消费者行为研究模型
- jq封装post请求数据_GitHub - xiaohange/JQHttpRequest: GET/POST / PUT / DELETE 网络请求的封装...
- Canvas之进度条的制作(矩形,圆环)
- windows安装composer方法和使用方法
- utilities(matlab)—— 图像加噪
- 数据库的增加,删除,更新操作--mysql
- paip.log4j 日志系统 参数以及最佳实践
- Debian Gnu/Linux8.5安装GOLANG环境笔记
- ipcfg报错_CentOS服务器安装Anaconda
- 腾讯Tendis 号称能干掉 Redis ?你继续吹牛吧 !
- ZZULIOJ 1882: 蛤玮的魔法【数学】
- 【(类似DP)优化】 分梨子
- PHP实现常用设计模式之观察者模式
- uWSGI学习笔记3——使用uWSGI部署Flask应用
- 万维网、因特网和互联网的区别
- 面试-技术面试-问题模板(超实用)
- 使用java方式装配Bean
- 电子元器件、专业术语和芯片封装的基础知识