Oracle聚合函数

聚合函数

定义:聚合函数对一组值执行计算,并返回单个值。聚合函数经常与SELECT语句的GROUP BY子句一起使用

--最大值:MAX(列名);各种数据类型都支持。
例如:SELECT MAX(SAL) FROM EMP; 

--最小值:MIN(列名);各种数据类型都支持。
例如:SELECT MIN(SAL) FROM EMP; 

--求和:SUM(列名);针对数字的统计。
例如:SELECT SUM(SAL) FROM EMP; 

--平均值:AVG(列名);针对数字的统计。
例如:SELECT AVG(SAL) FROM EMP; 

/*
数据统计:
COUNT(*):可以准确的返回表中的全部记录数;
COUNT(列名):统计不为NULL的记录数;
COUNT(DISTINCT 列名):消除重复数据之后的记录数。
*/
例如:SELECT COUNT(SAL) FROM EMP; 

 

分组聚合

--分组的前提:筛选后的数据行中具有重复,允许单独一行或者多行进行分组。
SELECT E.DEPTNO,MAX(E.SAL)
  FROM EMP E
 GROUP BY E.DEPTNO;
 

--分组统计的约定条件:
--如果查询不使用 GROUP BY 子句,那么在 SELECT 子句中使用了聚合函数后,其它任何字段(即列名)都不允许出现; 
SELECT COUNT(*) FROM EMP;

--如果查询中使用了 GROUP BY 子句,那么在 SELECT 子句中只允许出现聚合函数、分组字段(即列名),其它任何字段都不允许出现;
SELECT DEPTNO,COUNT(DEPTNO) 
  FROM EMP 
 GROUP BY DEPTNO;

--聚合函数允许嵌套,但是嵌套之后的 SELECT 子句中只允许出现嵌套函数,而不允许出现任何字段(包括分组字段)。
SELECT MAX(AVG(SAL)) FROM EMP GROUP BY DEPTNO;

--WHERE ROWNUM<N:ROWNUM 获取前N行的数据
SELECT * FROM EMP E WHERE ROWNUM < 2 ORDER BY E.SAL DESC;

 

posted @ 2020-10-11 11:35  小碗吃不胖的  阅读(847)  评论(0编辑  收藏  举报