oracle中基本的分组函数

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

组函数类型: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(DISTINCTexpr) 返回 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:求和
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值