所有窗口函数和开窗函数说明
时间: 2024-04-23 18:02:22 浏览: 83
主要窗函数介绍
4星 · 用户满意度95%
以下是一些常见的窗口函数和开窗函数及其说明:
窗口函数:
1. ROW_NUMBER():给每行结果赋予一个唯一的排名值,一般用于排序操作。
2. RANK():给结果集中的每行赋予排名值,如果有相同的值则会跳过后面的值,即排名不连续。
3. DENSE_RANK():与 RANK() 类似,但是排名不会跳过后面的值,即排名连续。
4. NTILE():将结果集分成 n 份,每份的行数尽量平均,返回每一行所属的组编号。
5. LEAD():返回指定列当前行后面第 N 行的结果,如果不存在则返回 NULL。
6. LAG():返回指定列当前行前面第 N 行的结果,如果不存在则返回 NULL。
开窗函数:
1. SUM() OVER():计算指定列的累计和。
2. AVG() OVER():计算指定列的移动平均数。
3. ROW_NUMBER() OVER():给每行结果赋予一个唯一的排名值,一般用于排序操作。
4. RANK() OVER():给结果集中的每行赋予排名值,如果有相同的值则会跳过后面的值,即排名不连续。
5. DENSE_RANK() OVER():与 RANK() 类似,但是排名不会跳过后面的值,即排名连续。
6. NTILE() OVER():将结果集分成 n 份,每份的行数尽量平均,返回每一行所属的组编号。
7. LEAD() OVER():返回指定列当前行后面第 N 行的结果,如果不存在则返回 NULL。
8. LAG() OVER():返回指定列当前行前面第 N 行的结果,如果不存在则返回 NULL。
以上是一些常见的窗口函数和开窗函数,不同的数据库中可能会有一些差异,具体使用时需要根据实际情况进行选择和使用。
阅读全文