文章目录
前言
当你在使用 PostgreSQL 数据库时,你可能会遇到一些复杂的查询需求,例如需要对数据进行分组、排序和计算排名等操作。这时,窗口函数就会派上用场。
一、什么是窗口函数?
窗口函数是一种在查询结果中执行计算的特殊函数。它可以在不改变查询结果集的情况下,对结果集中的行进行分组、排序和计算。窗口函数可以用于计算排名、累计和、移动平均等各种分析操作。
二、常用的4类窗口函数
用于聚合计算的窗口函数:sum() over()
count() over()
avg() over()
用于分组排序的窗口函数:row_number() over()
rank() over()
dense_rank() over()
用于分组查询的窗口函数:ntile() over()
用于偏移分析的窗口函数:lag() over()
lead() over()
first_value() over()
last_value() over()
三、PARTITION BY 子句
在窗口函数中,PARTITION BY
子句