AI智能
改变未来

oracle中基本的分组函数


分组函数:分组函数作用于一组数据,并对一组数据返回一个值。

组函数类型:AVG,COUNT,MAX,MIN,STDDEV,SUM

1.可以对数值型数据使用AVG 和 SUM 函数。

SELECT AVG(salary), MAX(salary),MIN(salary), SUM(salary)FROM   employeesWHERE  job_id LIKE \'%REP%\';

2.可以对任意数据类型的数据使用 MIN 和 MAX 函数。

SELECT MIN(hire_date), MAX(hire_date)FROM	  employees;

3.COUNT(*) 返回表中记录总数

SELECT COUNT(*)FROM	  employeesWHERE  department_id = 50;

4.COUNT(expr) 返回 expr

不为空

的记录总数。

SELECT COUNT(commission_pct)FROM   employeesWHERE  department_id = 80;

5.COUNT(

DISTINC

Texpr) 返回

expr非空且不重复

的记录总数

SELECT COUNT(DISTINCT department_id)FROM   employees;

6.组函数忽略空值

SELECT AVG(commission_pct)FROM   employees;

7.

NVL函数使分组函数无法忽略空值

SELECT AVG(NVL(commission_pct, 0))FROM   employees;

8.group by

在SELECT 列表中所有未包含在组函数中的列都应该包含在 GROUP BY 子句中。

②包含在 GROUP BY 子句中的列

不必包含

在SELECT 列表中

③多个列分组

SELECT   department_id dept_id, job_id, SUM(salary)FROM     employeesGROUP BY department_id, job_id ;

9.Having子句

SELECT   department_id, MAX(salary)FROM     employeesGROUP BY department_idHAVING   MAX(salary)>10000 ;

10.嵌套函数

SELECT   MAX(AVG(salary))FROM     employeesGROUP BY department_id;
AVG:求平均值COUNT:统计查询结果个数MAX:求最大值MIN:求最小值STDDEV:求标准差SUM:求和
赞(0) 打赏
未经允许不得转载:爱站程序员基地 » oracle中基本的分组函数