oracle中基本的分组函数
程序员文章站
2024-02-27 23:03:45
...
分组函数:分组函数作用于一组数据,并对一组数据返回一个值。
组函数类型:AVG,COUNT,MAX,MIN,STDDEV,SUM
1.可以对数值型数据使用AVG 和 SUM 函数。
SELECT AVG(salary), MAX(salary),
MIN(salary), SUM(salary)
FROM employees
WHERE job_id LIKE '%REP%';
2.可以对任意数据类型的数据使用 MIN 和 MAX 函数。
SELECT MIN(hire_date), MAX(hire_date)
FROM employees;
3.COUNT(*) 返回表中记录总数
SELECT COUNT(*)
FROM employees
WHERE department_id = 50;
4.COUNT(expr) 返回 expr不为空
的记录总数。
SELECT COUNT(commission_pct)
FROM employees
WHERE 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 employees
GROUP BY department_id, job_id ;
9.Having子句
SELECT department_id, MAX(salary)
FROM employees
GROUP BY department_id
HAVING MAX(salary)>10000 ;
10.嵌套函数
SELECT MAX(AVG(salary))
FROM employees
GROUP BY department_id;
AVG:求平均值
COUNT:统计查询结果个数
MAX:求最大值
MIN:求最小值
STDDEV:求标准差
SUM:求和
上一篇: Oracle基本类型函数