Rank() over()详解
来源:互联网 发布:egd网络黄金官网 编辑:程序博客网 时间:2024/06/08 10:15
CREATE TABLE test(a INT,b INT,c CHAR)INSERT INTO test VALUES(1,3,'E')INSERT INTO test VALUES(2,4,'A')INSERT INTO test VALUES(3,2,'D')INSERT INTO test VALUES(3,5,'B')INSERT INTO test VALUES(4,2,'C')INSERT INTO test VALUES(2,4,'B')
SELECT * from test
a b c
----------- ----------- ----
1 3 E
2 4 A
3 2 D
3 5 B
4 2 C
2 4 B
(6 行受影响)
1、整个结果集是一个分组,以a进行排名
SELECT a,b,c,rank () OVER (ORDER BY a) rank FROM test
a b c rank
----------- ----------- ---- --------------------
1 3 E 1
2 4 A 2
2 4 B 2
3 2 D 4
3 5 B 4
4 2 C 6
(6 行受影响)
2、整个结果集是一个分组,以b进行排名
SELECT a,b,c,rank () OVER (ORDER BY b) rank FROM test
a b c rank
----------- ----------- ---- --------------------
3 2 D 1
4 2 C 1
1 3 E 3
2 4 A 4
2 4 B 4
3 5 B 6
(6 行受影响)
3、以a,b进行分组,在每个组内以b进行排名。分了5个组,第2行跟第3行是一个组,其他的每行是一个组。在第2行与第3行的组内以b排名,并列为1
SELECT a,b,c,rank () OVER (PARTITION BY a,b ORDER BY b) rank FROM test
a b c rank
----------- ----------- ---- --------------------
1 3 E 1
2 4 A 1
2 4 B 1
3 2 D 1
3 5 B 1
4 2 C 1
(6 行受影响)
4、以a,b进行分组,在每个组内以c进行排名。分了5个组,第2行跟第3行是一个组,其他的每行是一个组。在第2行与第3行的组内以c排名,由于c列一个是A,一个是B,所以Rank分别为1、2。
SELECT a,b,c,rank () OVER (PARTITION BY a,b ORDER BY c) rank FROM test
a b c rank
----------- ----------- ---- --------------------
1 3 E 1
2 4 A 1
2 4 B 2
3 2 D 1
3 5 B 1
4 2 C 1
(6 行受影响)
总结:1、partition by用于给结果集分组,如果没有指定那么它把整个结果集作为一个分组。
- Rank() over()详解
- rank over()
- rank() over
- rank() over和row_number() over
- Rank() OVER(PARTITION BY)
- rank/row_number() OVER ()使用
- Rank() over()的用法
- Rank() over()的用法
- Rank() over()的用法
- mysql 之 rank() over()
- rank() over()的用法
- Oracle Rank() Over()
- Rank() over()的用法
- Rank() over()的用法
- Rank() over的用法
- oracle rank() over()
- SQL: rank over
- Oracle Rank() Over()
- Java Object
- Apache POI使用详解
- Java集合遍历的几种方式总结及比较
- 如何使用Valgrind memcheck工具进行C/C++的内存泄漏检测
- html之播放器的设置
- Rank() over()详解
- 【.Net码农】【Linq】Linq之旅:Linq入门详解(Linq to Objects)
- 图片轮播代码
- 防止js注入
- 用户删除时出现 user aa is currently logged in
- 如何在Activity间传递数据
- 帧动画让小猪动起来
- catmaid 5d笔记2---导入数据成功
- 关于WebSocket的初步了解