Oracle专题6之Oracle的分组函数与数组分组
发布时间:2020-12-12 14:12:01 所属栏目:百科 来源:网络整理
导读:在关系数据库中,使用数据分组可以取得表数据的汇总信息。数据分组是通过分组函数、Group by以及having等子句共同实现的。 1、分组函数 SQL函数包含单行函数和多行函数。分组函数属于多行函数。作用于一组数据,并对一组数据返回一个值。 分组函数:SELECT [
1、分组函数
a、AVG()
SQL> SELECT avg(sal) FROM emp; AVG(SAL) 2135 b、SUM()
SQL> SELECT MIN(sal) FROM emp; MIN(SAL) 800 c、MIN
SQL> SELECT MIN(sal) FROM emp; MIN(SAL) 800 d、COUNT()
SQL> SELECT COUNT(*) FROM emp; COUNT(*)- 15
SQL> select count(distinct deptno) from emp; COUNT(DISTINCTDEPTNO) 3 e、WM_CONCAT行转列(让查询结果行转列)
SQL> select wm_concat(ename) from emp; WM_CONCAT(ENAME) EASON,G_EASON,ALLEN,WARD,JONES,MARTIN,BLAKE,CLARK,SCOTT,KING,TURNER,ADAMS,JAMES,FORD,MILLER 2、Group by子句
SQL> SELECT deptno,avg(sal) from emp group by deptno; DEPTNO AVG(SAL) 30 1566.66667 20 2312.5 10 2916.66667
SQL> SELECT deptno,job,avg(sal) from emp group by deptno,job; DEPTNO JOB AVG(SAL) 20 CLERK 950 30 SALESMAN 1400 20 MANAGER 2975 30 CLERK 950 10 PRESIDENT 5000 30 MANAGER 2850 10 CLERK 1300 20 ANALYST 3000 10 MANAGER 2450 已选择9行。
SQL> select avg(sal) from emp group by deptno; AVG(SAL) 1566.66667 2312.5 2916.66667
SQL> select deptno,WM_concat(ename) from emp group by deptno; DEPTNO WM_CONCAT(ENAME) 10 CLARK,MILLER,KING 20 EASON,G_EASON 30 ALLEN,WARD 3、Having子句
SQL> select deptno,avg(sal) from emp group by deptno having avg(sal) >2500; DEPTNO AVG(SAL) 10 2916.66667
SQL> select deptno,avg(sal) from emp where deptno=10 group by deptno; DEPTNO AVG(SAL) 10 2916.66667
SQL> select max(avg(sal)) from emp group by deptno; MAX(AVG(SAL)) 2916.66667 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |