基本语法:
函数名称([参数 , …]) OVER (
PARTITION BY 子句 字段 , …
[ORDER BY 子句 字段 , … [ASC | DESC] [NULLS FIRST | NULLS LAST]
[WINDOWING 子句]) ;
使用PARTITION子句
SELECT deptno , ename, sal ,
SUM(sal) OVER (PARTITION BY deptno) sum
FROM emp ;
函数名称可能是统计函数、等级函数


sum()
直接写OVER() 得出的是所有收入总和

按部门分组,计算各部门收入总和

不写分组,写order by最后算出累计的工资和

排名
RANK() OVER 出现并列后会出现空值(不出现3)
DENSE_RANK() 出现并列后不会出现空值

row_number() 不会出现并列

本文深入讲解SQL窗口函数的使用,包括基本语法、PARTITION BY、ORDER BY子句的应用,以及SUM、RANK、DENSE_RANK和ROW_NUMBER等函数的具体场景案例,帮助读者掌握复杂的数据分析技巧。
1843

被折叠的 条评论
为什么被折叠?



