• SQL 之 ROW_NUMBER() OVER函数用法


    语法:

    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

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

    1. SELECT *
    2. , Row_Number() OVER (partition by deptid ORDER BY salary desc) AS rank
    3. 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

  • 相关阅读:
    记录C++类中的一次函数调用
    springboot学习四:Spring Boot2.x 过滤器基础入门&实战项目场景实现
    Linux工具 - 好用的yum包管理器
    webpack环境变量的设置
    CDH6下线DataNode节点
    【C++】常用排序算法
    C++流媒体开源库Live555详细介绍
    Docker专题(二)之 操作Docker容器
    高德地图爬虫实践:Java多线程并发处理策略
    电气滑环更换原因分析
  • 原文地址:https://blog.csdn.net/weixin_48272780/article/details/127895673