语法:

row_number() OVER (PARTITION BY COL1 ORDER BY COL2)

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

实例:

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

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

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

预期结果:

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 之 ROW_NUMBER() OVER函数用法相关推荐

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

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

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

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

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

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

  4. oracle判断是否为空为空赋值,sql数据库中ISNULL函数用法 sql语句判断值是否为空...

    在使用sql数据库的过程,由于服务器设置不当导致sql server的某个字段为空,导致部分内容显示失败,就需要将为空的字符替换为制定的字符. 例子,sql语句: use 数据库 update new ...

  5. Sql server中时间函数用法详解

    SQL中的时间函数非常有用,特别是在我们进行初始赋值.复杂查询的时候,就显得特别方便. 1.获得系统当前时间 select getdate()  2.DateName ( datepart , dat ...

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

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

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

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

  8. pyspark及Spark报错问题汇总及某些函数用法。

    此贴,主要记录本人在工作中遇到的某些报错问题,并提出自己的解决办法. 1. spark = SparkSession.builder()  TypeError: 'Builder' object is ...

  9. mysql raiserror_sql server数据库中raiserror函数用法的详细介绍

    sql server数据库中raiserror函数的用法 server数据库中raiserror的作用就和asp.NET中的throw new Exception一样,用于抛出一个异常或错误.这个错误 ...

最新文章

  1. 高性能ASP.NET站点构建之简单的优化措施
  2. 2012 Multi-University Training Contest 3
  3. HDU - 3709 Balanced Number(数位dp)
  4. activemq发布订阅
  5. Leetcode 122.买卖股票的最佳时机II
  6. 万能码:新发展新纪元(安全扫码专业委员会)
  7. VirtualBox-5.2.44的安装
  8. 【记录】关于知乎“国外博士的能力真的比国内博士强吗”的讨论
  9. vue基础-过滤器(Filters)
  10. 获取PC 服务器 可用的GPU
  11. matlab编程测试教程,Matlab实验1 MATLAB的基本操作、编程基础
  12. 自然保护区相关矢量数据下载
  13. 开源库MusicPlayManager - 封装StarrySky音乐库
  14. 八、chmod命令详细用法
  15. 联发科技嵌入式_【MTK联发科技工资】嵌入式软件工程师待遇-看准网
  16. FreeModbus
  17. flask_萧井陌视频学习(三)
  18. 功能测试笔记PART2-测试用例设计方法与实战【等价类划分、边界值、因果图判定表、正交实验法】
  19. ubuntu20.04安装Carla并配置罗技G29方向盘使用
  20. 使用Prometheus与Grafana追踪SpringBoot程序

热门文章

  1. 版主上路之 Application Server
  2. python关键字中文意思_python解析URL中文关键字
  3. 吵醒猫猫+android7,吵醒猫猫 wake the cat游戏评测
  4. 常德职院美和易思校企共建专业第一届PPT制作与演讲大赛圆满落幕
  5. win10远程桌面连接计算机密码错误,win10远程桌面连接不上怎么办?windows10远程桌面连接不上的解决方法...
  6. android os v2.0,免除升级烦恼 Android OS v2.2给力手机推荐
  7. html 动画接口,10款 Web 动画插件
  8. windows update 80092004错误
  9. 卓懿9.0正式版来袭
  10. 学会应对不同的面试官