orcale分组函数

  • 一 介绍
  • 1.分组函数作用于一组数据,并对一组数据返回一个值
  • 2.组函数类型:
  • avg 平均值
  • count
  • max
  • min
  • stddev
  • sum
  • 二 代码
  • 1. 工资最高的:SQL> select max(sal) from emp;
  • 工资最低的:SQL> select min(sal) from emp;
  • 平均工资:SQL> select avg(sal) from emp;
  • 工资总数:SQL> select sum(sal) from emp;
  • 记录总数:SQL> select count(emptno) from emp; 返回的是不为空的记录
  • SQL> select count(distinct emptno) from emp;
  • 返回的是非空且不重复的记录总数 distinct是去掉重复的
  • 也可以写为:
  • SQL> select min(sal),max(sal),min(sal) from emp;
  • 结果为:
  • MIN(SAL) MAX(SAL) MIN(SAL)
  • ---------- ---------- ----------
  • 800 5000 800
  • 注:(1)可以对数值型数据使用AVGSUM 函数。
  • (2)可以对任意数据类型的数据使用 MINMAX 函数。
  • 也可以对日期使用
  • SQL> select min(hiredate) from emp;
  • SQL> select max(hiredate) from emp;
  • 2.分组数据
  • group by子句使用
  • 例子:查询出employees中各部门的平均工资
  • SQL> select department_id,avg(salary) from employees group by department_id;
  • 包含在 GROUP BY 子句中的列不必包含在SELECT 列表中,所以可以写为:
  • SQL> select avg(salary) from employees group by department_id;
  • 可以进行多列的分组:
  • SQL> select department_id,job_id,sum(salary) from employees group by department_id,job_id;
  • 注:(1)不能在 where 子句中使用组函数(注意)。
  • (2)可以在 HAVING 子句中使用组函数。
  • 3.过滤分组 having子句
  • 例子:部门最高工资比 1000高的部门
  • SQL> select department_id,max(salary) from employees group by department_id having max(salary)>1000;
  • 每一个部门下有很多员工,通过对部门分组,把是一个部门员工分好在当前部门下,计算出最高的工资对比
  • 4.嵌套组函数
  • 例子:显示平均工资的最大值
  • SQL> select max(avg(salary)) from employees group by department_id;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值