PostgreSQL 窗口函数
ROW_NUMBER/RANK/AVG OVER PARTITION · 难度:高级 · +25XP
窗口函数
窗口函数在结果集的子集上计算,不折叠行。比 GROUP BY 更灵活。
常用窗口函数
| 函数 | 作用 |
|---|---|
| ROW_NUMBER() | 行号(无重复) |
| RANK() | 排名(有间隙) |
| DENSE_RANK() | 排名(无间隙) |
| SUM/AVG OVER | 累计/移动聚合 |
| LAG/LEAD | 前/后一行值 |
SELECT name, salary, RANK() OVER (ORDER BY salary DESC) FROM emp;
学习与实践建议
- 先理解本节的核心概念和语法规则
- 在右边编辑器中修改示例代码,观察运行结果变化
- 尝试用学到的知识完成一个小练习——比如自己写一个工具函数或小程序
- 遇到问题时,查阅官方文档是最快的学习途径
编程是门实践技能,动手写代码比看教程重要得多。坚持每天练习,你会很快看到进步!