文章目录
一、窗口函数基础概念
1.1 窗口函数定义与分类
窗口函数(Window Function)是SQL中一类特殊的函数,它能够在查询结果的"窗口"(即结果集的子集)上执行计算,同时保留原始行的完整性。与聚合函数不同,窗口函数不会将多行合并为单行输出,而是为每一行返回一个值。
在GaussDB中,窗口函数主要分为以下几类:
函数类别 | 典型函数 | 主要用途 |
---|---|---|
排序函数 | RANK(), DENSE_RANK(), ROW_NUMBER() | 为分区内的行分配排名或序号 |
聚合窗口函数 | SUM(), AVG(), COUNT(), MAX(), MIN() | 对窗口内的行进行聚合计算 |
取值函数 | LAG(), LEAD(), FIRST_VALUE(), LAST_VALUE() | 访问窗口中其他行的值 |
分布函数 | PERCENT_RANK(), CUME_DIST(), NTILE() | 计算行的相对位置或分布 |