--分组函数:作用于一组数据,并对一组数据返回一个值
--常用的分组函数,avg,sum,min,max,count,wm_concat(行转列)
SELECT AVG(SAL),SUM(SAL) FROM EMP;
SELECT MIN(SAL),MAX(SAL) FROM EMP;
SELECT COUNT(*) FROM EMP;--*代表所有列 count(empno) 结果一样
SELECT COUNT(DEPTNO) FROM EMP;
SELECT COUNT(distinct DEPTNO) FROM EMP;
--行转列
SELECT DEPTNO,wm_concat(ENAME) ENAMES FROM EMP GROUP BY DEPTNO;
--分组函数和空值
SELECT AVG(SAL) FROM EMP;
SELECT SUM(SAL)/COUNT(*) FROM EMP;
SELECT SUM(SAL)/COUNT(SAL) FROM EMP;
SELECT AVG(COMM) FROM EMP;
SELECT SUM(COMM)/COUNT(*) FROM EMP;
SELECT SUM(COMM)/COUNT(COMM) FROM EMP;
--count(*) 和 count(comm) 不一样
select count(*),count(comm) from emp;--分组函数count(comm)会忽略空值
select count(nvl(comm,0)) from emp; --nvl函数解决分组函数忽略空值问题
--分组数据
select deptno,avg(sal) from emp group by deptno;
select a,B,avg(x) from emp group by a,B,C;
--a,B不能再组函数里,a,b必须分组,c不一定被筛选出来
select avg(sal) from emp group by deptno;
--多个列的分组
SELECT DEPTNO,JOB,
oracle高级语言总结
最新推荐文章于 2021-04-14 14:40:01 发布
本文全面总结了Oracle数据库的高级特性,包括物化视图、分区表、索引组织表、存储过程、触发器、游标、事务控制等关键知识点,帮助读者深入理解Oracle数据库的强大功能。
摘要由CSDN通过智能技术生成