多行函数:
多行函数(组函数,分组函数)
avg(),count(),max(),min(),sum()
多行函数会自动滤空(忽略值为null的记录。例如:avg()函数会先忽略掉值为null的记录)
select deptno,job,sum(sal) from emp group by deptno,job; --查询的项,必须出现在group by子句中;group by子句中的项可以不出现在select查询项中。
group by与where的区别:多行函数必须放在group by子句中。 sql优化:推荐使用where
--group by子句增强
group by rollup(a,b)相当于: group by a,b + group by a + 没有group by 的三种查询结果合在一起。
select deptno,job,sum(sal) from emp group by rollup(deptno,job);
break on deptno skip 2; --查询结果中,相同的部门号只显示一次;skip 2 表示不同的部门号的记录之间空两行
break on null; --清除上面break on的设置