oracle打散分组函数,oracle分组函数

分组函数

一 介绍

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)可以对数值型数据使用AVG 和 SUM 函数。

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

也可以对日期使用

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、付费专栏及课程。

余额充值