Oracle分组函数及分组统计条件限定查询

本文深入解析SQL中的聚合函数,包括计数(count),最小值(min),最大值(max),平均值(avg)和求和(sum)的使用方法。通过具体实例,如查询最低与最高工资的员工,计算平均工资,以及分组统计各部门的平均工资等,帮助读者掌握这些函数的实战应用。

1.统计记录数count()

select count(字段名) from 表名;

2.最小值查询min()

范例:查询工资最低的员工

select min(sal) from emp;

3.最大值查询max()

范例:查询工资最高的员工

select max(sal) from emp;

4.平均值函数

求平均工资:

select avg(sal) avgsal from emp;

5.求和

select sum(sal) suxx from emp where xx = 20;

6.分组统计

 

范例:查出每个部门的平均工资:

select avg(empno) avgsal from emp group by deptno;

注意:d.dname该字段并没有对它进行group by,所以会报错,要想展示出来就得更细的分组

范例:查询出每个部门从事相同工作的人

分析:首先分出部门,再从部门上分出相同工作的人,所以得分两个组

范例:查询出部门函数大于五人的部门

分析:需要给count(ename)加条件,此时再本查询中不能使用where,可以使用having 在group by后面作用在分组函数上

范例:平均工资大于两千的部门

select avg(sal) deptno from emp group by deptno having avg(sal) > 2000

范例:显示非销售人员工作名称以及从事同一工作的员工的月工资的总和,并且要满足从事同一工作月工资总和大于5000,结果按月工资总和的升序排列。

 

在分组统计的时候如果处理分组函数以外,结果列必须是group by后面分组的列(后面的列前面才能有,后面没有的前面决不能有)

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值