语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN)

简单的说row_number()从1开始,为每一条分组记录返回一个数字,这里的ROW_NUMBER() OVER (ORDER BY xlh DESC) 是先把xlh列降序,再为降序以后的没条xlh记录返回一个序号。
示例:
xlh           row_num
1700              1
1500              2
1085              3
710                4

row_number() OVER (PARTITION BY COL1 ORDER BY COL2) 表示根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的)

实例:

初始化数据

create table employee (empid int ,deptid int ,salary decimal(10,2))
insert into employee values(1,10,5500.00)
insert into employee values(2,10,4500.00)
insert into employee values(3,20,1900.00)
insert into employee values(4,20,4800.00)
insert into employee values(5,40,6500.00)
insert into employee values(6,40,14500.00)
insert into employee values(7,40,44500.00)
insert into employee values(8,50,6500.00)
insert into employee values(9,50,7500.00)

数据显示为

empid       deptid      salary
----------- ----------- ---------------------------------------
1           10          5500.00
2           10          4500.00
3           20          1900.00
4           20          4800.00
5           40          6500.00
6           40          14500.00
7           40          44500.00
8           50          6500.00
9           50          7500.00

需求:根据部门分组,显示每个部门的工资等级

预期结果:

empid       deptid      salary                                  rank
----------- ----------- --------------------------------------- --------------------
1           10          5500.00                                 1
2           10          4500.00                                 2
4           20          4800.00                                 1
3           20          1900.00                                 2
7           40          44500.00                                1
6           40          14500.00                                2
5           40          6500.00                                 3
9           50          7500.00                                 1
8           50          6500.00                                 2

SQL脚本:

SELECT *, Row_Number() OVER (partition by deptid ORDER BY salary desc) rank FROM employee

转载于:https://blog.51cto.com/jeffxi/1568893

ROW_NUMBER() OVER 函数的用法相关推荐

  1. row_number() over()函数基本用法

    简单的说row_number()从1开始,为每一条分组记录返回一个数字,这里的ROW_NUMBER() OVER (ORDER BY xlh DESC) 是先把xlh列降序,再为降序以后的没条xlh记 ...

  2. SQL2005中row_number()等函数的用法

    2005比2000新增了几个函数,分别是row_number().rank().dense_rank().ntile(),下面以实例分别简单讲解一下. create table gg(sname va ...

  3. ROW_NUMBER() OVER()函数用法详解 (分组排序 例子多)

    ROW_NUMBER() OVER()函数用法详解 (分组排序 例子多) https://blog.csdn.net/qq_25221835/article/details/82762416 post ...

  4. ROW_NUMBER() OVER函数的基本用法用法

    ROW_NUMBER() OVER函数的基本用法用法 转自:http://www.cnblogs.com/icebutterfly/archive/2009/08/05/1539657.html 语法 ...

  5. ROW_NUMBER() OVER()函数用法详解

    今天同事问了一个关于插入表的问题,对象:被插入表sys_equi_disorg   A  , 查询表sys_equi_dict   B 因为A表的ID不是自增的,并且不能更改表结构,主键默认值还是0, ...

  6. SQL中 ROW_NUMBER 函数的用法

    SQL中 ROW_NUMBER 函数的用法 ROW_NUMBER()函数将针对SELECT语句返回的每一行,从1开始编号,赋予其连续的编号.在查询时应用了一个排序标准后,只有通过编号才能够保证其顺序是 ...

  7. Oracle中ROW_NUMBER() OVER()函数用法

    Oracle中ROW_NUMBER() OVER()函数用法 1. 说明:ROW_NUMBER() OVER() 函数的作用:分组排序 2. 原理: row_number() over() 函数,ov ...

  8. ROW_NUMBER() OVER()函数用法;(分组,排序),partition by

    1.row_number() over()排序功能: (1) row_number() over()分组排序功能: 在使用 row_number() over()函数时候,over()里头的分组以及排 ...

  9. ROW_NUMBER() OVER() 函数用法详解 (分组排序,多例子)

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 语法格式:row_number() over(partition by 分组列 order by 排 ...

最新文章

  1. Xcode7将无需开发者授权也能在真机上调试App
  2. Linux进程管理(第二版) --进程管理命令
  3. select样式的重写
  4. java之代理设计模式
  5. php 微信实时更新,微信小程序修改data使页面数据实时更新的代码示例
  6. su: Authentication failure 的解决方案
  7. pythonATM,购物车项目实战8--通用函数的使用lib/common
  8. 【转】BeyondCompare3提示许可密钥过期完美解决方法
  9. 单片机编程软件很简单(20),快速学会keil单片机编程软件
  10. Linux curl 命令下载文件
  11. 2022-2028年中国位置大数据行业市场专项调查及投资前景分析报告
  12. 系统封装 如何加载PE到Easyboot进行合盘
  13. WEBOS——第一次感觉云计算离我们如此之今
  14. Mac桌面文件怎么恢复?
  15. javafx 教程_Swing和JavaFX:使用JFXPanel
  16. 《寒江独钓》内核学习笔记(1)-- IRP - .Little Hann
  17. Python抓图必学的8种方式!
  18. 计算机专业学生必看的网站
  19. 选定关键词爬取智联招聘职位概览信息
  20. Solving environment: failed with initial frozen solve. 阴沟系列 正确安装低版本的gpu pytorch

热门文章

  1. Apache Pulsar中的地域复制,第1篇:概念和功能
  2. windows7、windows 2008和windows 2008 R2 的系统封装介绍
  3. delphi中关于时间差的实例
  4. 关于line-height的一些理解
  5. Linux -nginx-源码安装
  6. ORACLE 12C 依然支持 bbed
  7. ganglia metric 默认监控项翻译
  8. “未能为域创建GPO 出现扩展错误”的解决办法
  9. 让你的名字显示在电脑右下角
  10. WPF TabControl Unload俩次的解决方案