## 【转载】ROW_NUMBER() OVER函数的基本用法用法 原

木宛城主

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

### 木宛城主

ROW_NUMBER() OVER函数的基本用法

2016/10/31
69
0
ORACLE 中的 ROW_NUMBER() OVER() 分析函数的用法

ORACLE 中的 ROW_NUMBER() OVER() 分析函数的用法 ROW_NUMBER() OVER(partition by col1 order by col2) 表示根据col1分组，在分组内部根据col2排序，而此函数计算的值就表示每组内部排序后的...

mrliuze
2015/07/02
0
0
Hive分析函数row_number()

JackieYeah
2016/05/25
1K
0
MySQL over函数的用法

over不能单独使用，要和分析函数：rank(),denserank(),rownumber()等一起使用。 其参数：over（partition by columnname1 order by columnname2） 含义：按columname1指定的字段进行分组排序...

ChinaUnicom110
2017/08/30
0
0
Oracle11G基本操作

[1].创建表空间 CREATE TABLESPACE SYPRO_201310 DATAFILE 'F:ORACLE_11GoradataorclSYPRO_201310.DBF' SIZE 10M AUTOEXTEND ON 在指定的F盘下创建一个名SYPRO_201310.DBF的文件初始空间是1......

liu13430
2016/03/11
14
0

NEO 节点介绍

NEO-FANS
15分钟前
1
0

0x00 前言 如果感觉本文对你有帮助，请在文章末尾点个赞，谢谢表哥们支持！ 当你在内网渗透，并且拿下一台机器的权限时，你是不是觉得已经算是一次完整的渗透了？ 不来一次内网漫游，渗透是不...

21分钟前
5
0
PiggyMetrics分布式框架

https://github.com/sqshq/PiggyMetrics

22分钟前
0
0

31分钟前
4
0
OkHttpClient封装

import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.util.Map; import java.util.TreeMap; import java.util.Map.Entry; import o......

32分钟前
2
0