zoukankan      html  css  js  c++  java
  • row_number() OVER (PARTITION BY COL1 ORDER BY COL2)

    select *,ROW_NUMBER() over(partition by deviceID order by RecordDate desc

    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

    转自:http://www.cnblogs.com/digjim/archive/2006/09/20/509344.html

  • 相关阅读:
    Python的简单介绍/解释器/变量/变量的数据类型/用户交互及流程控制(if)
    变量
    hello python
    页面默认值显示
    java 获取时间区间
    java Set 中 removeAll 与 addAll
    命名的数据库实例
    linux 打包与解包
    缓存工作原理
    java 格式化日期(转)
  • 原文地址:https://www.cnblogs.com/xiyou110/p/4444381.html
Copyright © 2011-2022 走看看