【SQL】partition by

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了【SQL】partition by相关的知识,希望对你有一定的参考价值。

参考技术A

一旦各种开窗函数使用partition by后,需要明确的是,函数会对每个分区 独立处理
avg(page) over(partition by book) --- 假如整体是对阿利波特七部曲,则该函数是求出 每一部 哈利波特的平均页码数。

sql partition by

--不分班按学生成绩排名
select *,ROW_NUMBER() over(order by Score desc) as Sequence from Student

id          Grade       Score       Sequence
----------- ----------- ----------- --------------------
8           3           90          1
1           1           88          2
6           2           80          3
10          3           80          4
3           1           75          5
9           3           70          6
5           2           70          7
2           1           66          8
7           2           60          9
4           2           30          10

(10 行受影响)

--分班后按学生成绩排名
select *,row_number() over(partition by Grade order by Score desc) as Sequence from Student

id          Grade       Score       Sequence
----------- ----------- ----------- --------------------
1           1           88          1
3           1           75          2
2           1           66          3
6           2           80          1
5           2           70          2
7           2           60          3
4           2           30          4
8           3           90          1
10          3           80          2
9           3           70          3

(10 行受影响)

以上是关于【SQL】partition by的主要内容,如果未能解决你的问题,请参考以下文章

sql partition by

How to Remove Table Partitioning in SQL Server

sql SFMC-重复数据删除与行数,partition.sql

SQL 聚合 OVER 和 PARTITION

[转帖]SQL中partition关键字的使用

在 SQL 中使用 Over 和 Partition