Oracle 窗口函数汇总
时间: 2023-12-05 19:36:55 浏览: 37
Oracle 窗口函数是一种强大的查询工具,它可以在查询结果中添加一些额外的列,这些列是根据特定的窗口定义计算出来的。常见的窗口函数包括 RANK、DENSE_RANK、ROW_NUMBER、LEAD、LAG、SUM、AVG、MAX、MIN 等等。
下面是一些常用的 Oracle 窗口函数:
1. RANK() OVER (PARTITION BY ... ORDER BY ...)
该函数用于计算每个分区内的排名,相同的值会得到相同的排名,排名相同的值会得到相同的平均排名。
2. DENSE_RANK() OVER (PARTITION BY ... ORDER BY ...)
该函数与 RANK() 函数类似,但是它不会跳过排名相同的值,而是按照顺序依次分配排名。
3. ROW_NUMBER() OVER (PARTITION BY ... ORDER BY ...)
该函数用于为每一行分配一个唯一的行号,不考虑分区和排序。
4. LEAD(column, n, default) OVER (PARTITION BY ... ORDER BY ...)
该函数用于获取当前行后面第 n 行的值,如果不存在则返回 default 值。
5. LAG(column, n, default) OVER (PARTITION BY ... ORDER BY ...)
该函数用于获取当前行前面第 n 行的值,如果不存在则返回 default 值。
6. SUM(column) OVER (PARTITION BY ... ORDER BY ...)
该函数用于计算每个分区内指定列的总和。
7. AVG(column) OVER (PARTITION BY ... ORDER BY ...)
该函数用于计算每个分区内指定列的平均值。
8. MAX(column) OVER (PARTITION BY ... ORDER BY ...)
该函数用于获取每个分区内指定列的最大值。
9. MIN(column) OVER (PARTITION BY ... ORDER BY ...)
该函数用于获取每个分区内指定列的最小值。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)