`

(ZT)ROW_NUMBER() OVER函数的基本用法用法

 
阅读更多

转载 http://www.cnblogs.com/icebutterfly/archive/2009/08/05/1539657.html

 

语法: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

分享到:
评论

相关推荐

    ZT.rar_Box muller_c# 正态分布_zt.r_正态分布函数

    能够产生标准正态分布数据的函数。该程序根据Box-Muller方法生成正态分布函数

    zt_遗传算法求函数极大值

    在"zt_遗传算法求函数极大值"的实验中,我们使用Visual Studio(VS)作为开发环境,编写C++代码实现遗传算法。GATest文件可能是实验源代码或数据文件,其中包含了具体算法的实现细节,如种群大小、交叉概率、变异...

    zt411-zt421-ug-zhcn_ZT411/ZT421_斑马打印机手册_

    这份中文手册详细地介绍了ZT411和ZT421的操作、维护以及常见问题的解决方法,对于用户来说是一份非常重要的参考资料。 一、打印机概述 ZT411和ZT421是斑马技术公司推出的一系列高级热转印桌面打印机,具备高速打印...

    禅道数据表结构

    - **zt_case** 和 **zt_caseStep**: 分别记录了测试用例的基本信息以及测试步骤。 通过这些表,可以有效地管理缺陷并跟踪修复进展。 ##### 11. zt_testTask - 测试任务表 记录了测试任务的相关信息,如测试任务的...

    ZT_LED_OCX说明文档1

    **ZT_LED_OCX接口文档说明** ZT_LED_OCX是一个控件,主要用于控制和管理LED设备,如门禁系统中的指示灯。该文档详细介绍了与这个OCX控件交互的几个关键函数,包括打开设备、关闭设备、获取设备状态、设置开关参数...

    C++中的虚函数和纯虚函数用法(ZT)

    本文将详细介绍虚函数和纯虚函数的定义、使用方法以及它们之间的区别。 #### 二、虚函数的概念与用法 虚函数是一种特殊的成员函数,它可以在派生类中被重写,并且可以在基类中通过指针或引用调用派生类的版本。虚...

    ztb.rar_.zt_delphi_招投标

    总之,“ztb.rar_.zt_delphi_招投标”提供的源代码资源,对于学习和理解如何使用Delphi开发招投标管理系统非常有价值。通过分析源码,开发者不仅可以深入掌握Delphi编程,还能了解招投标行业的业务流程和技术实现...

    joomla mod_zt_headline组件

    **Joomla Mod_ZT_Headline组件详解** Joomla是一个流行的开源内容管理系统(CMS),用于构建网站和在线应用程序。在Joomla的世界里,组件(Components)是构成网站核心功能的重要部分,而模版(Templates)则决定了...

    spi_rx_zt_16位_spi_接收_

    1. SPI接口的基本概念: SPI接口通常由四个信号线组成:MISO(Master In, Slave Out)、MOSI(Master Out, Slave In)、SCK(Serial Clock)和SS(Slave Select)。在16位SPI接收过程中,MISO线将传输数据的低8位,...

    地图制图学BY_ZT_WZY_V2.0.pdf

    地图制图学BY_ZT_WZY_V2.0.pdf 涵盖了地图制图学的多个方面,包括地图的基本概念、地图制图学的基本概念、地图学数学基础、地图语言、制图综合等。这本书对地图制图学的研究和应用具有重要的参考价值。

    ibatis 一对多关系_longjia_zt_新浪博客.mht

    ibatis 一对多关系_longjia_zt_新浪博客.mht

    禅道定制开发适用于禅道的二次开发

    项目相关的表有 zt_project、zt_projectProduct、zt_projectStory、zt_task、zt_burn、zt_team 和 zt_build 等。 测试相关的表有 zt_bug、zt_case、zt_caseStep、zt_testTask、zt_testRun 和 zt_testResult 等。 ...

    zt.zip_判断

    这个文件"zt.h"可能是C++、C或类似编程语言中的头文件,它可能包含了函数声明、常量定义或者枚举类型等,这些都是为了进行特定的判断操作而设计的。 在编程领域,"判断"通常指的是条件语句,例如if语句和switch语句...

    ZT9胀套_胀套标准_

    例如,在中国,胀套的制造和使用可能会参照GB/T 5273-2008《液压胀紧联接件》等国家标准,这些标准规定了胀套的材料选择、尺寸公差、性能要求、试验方法以及标记和包装等。国际上,ISO(国际标准化组织)或DIN(德国...

    zt.rar_derivative gaussian_matlab 高斯滤波_边缘滤波_高斯滤波图像

    用户可能已经定义了一个名为`zt`的函数,该函数包含了高斯滤波和边缘检测的代码。"7.BMP"是一个位图图像文件,可能是待处理的原始图像。"www.pudn.com.txt"看起来像一个文本文件,可能包含额外的说明或链接,而非与...

    zt_SOM神经网络

    **标题:“zt_SOM神经网络”** 在神经网络领域,SOM(Self-Organizing Map,自组织映射)是一种非常重要的无监督学习算法,由Teuvo Kohonen于1982年提出。SOM神经网络是基于竞争学习机制的模型,它能够将高维数据...

    ZT_中控 ID180身份证读卡器CS驱动!

    标题中的“ZT_中控 ID180身份证读卡器CS驱动!”表明这是一个关于中控(Zkteco)ID180型号的身份证读卡器的计算机软件(CS驱动)。这种驱动程序是用于帮助计算机识别和通信与硬件设备,如身份证读卡器,进行数据交换...

    ZT.rar_Fundamentals

    在压缩包中包含的"ZT.pdf"文件,很可能详细讲解了Z变换的上述各个方面,包括基本理论、典型例子、计算方法和实际应用等。通过深入学习这份资料,读者将能够掌握Z变换的核心概念,并能够运用到实际问题中去,为后续的...

Global site tag (gtag.js) - Google Analytics