-- 开窗函数与聚合函数的区别:
-- 聚合函数是将多条记录聚合为一条;而开窗函数是每条记录都会执行,有几条记录执行完还是几条
-- 聚合函数也可以用于开窗函数中。
-- 所有员工的平均工资
select avg(sal) as avg_sal from emp; -- 聚合函数
-- 当over中没有指定分区、排序和滑动窗口,默认表中所有记录为一个分区,计算的是分区内的所有行
select *,avg(sal) over() as avg_sal from emp; -- 开窗函数
-- 各部门员工的平均工资
select deptno,avg(sal) as avg_sal
from emp
group by deptno;
-- 当over中,指定了分区,没有指定排序和滑动窗口,默认计算的是分区内的所有行
select *,avg(sal) over(partition by deptno) as avg_sal from emp;


雷达卡


京公网安备 11010802022788号







