Oracle中分组函数

    xiaoxiao2021-12-13  20

    1.COUNT 如果数据表中没有数据,返回的不是null,而是0. 2.AVG,MAX,MIN,SUM 3.分组函数和空值 分组函数省略列中的空值。 select sum(comm) from emp; select avg(comm) from emp; 可以使用nvl函数处理null值 select avg(nvl(comm,0)) from emp; 4.GROUP BY 子句 出现在select列表中的字段或者出现在order by后面的字段,如果不是包含在分组函数中, 那么该字段必须同时在group by子句中出现。 包含在group by后面的字段,不必出现在select列表中。 可用where字句限制查询条件。 可使用order by指定排序的顺序。 如果没有group by子句,select列表中不允许出现字段(单行函数)与分组函数混用的情况。 select empno,sal from emp;--合法 select avg(sal) from emp;--合法 select empno,initcap(ename),avg(sal) from emp;--非法 不允许在where字句中使用分组函数 select deptno,avg(sal) from emp where avg(sal)>2000 --非法 group by deptno; 5.HAVING 子句 select deptno,job,avg(sal) from emp where hiredate>=to_date('2016-4-15','yyyy-mm-dd') group by deptno,job having avg(sal)>1200 order by deptno,job; 6.分组函数嵌套 select max(avg(sal)) from emp group by deptno;

    转载请注明原文地址: https://ju.6miu.com/read-950258.html

    最新回复(0)