组函数、分组统计

一,组函数

count():求出全部的记录数

max():求出一组中的最大值

min():求出最小值

avg():求出平均值

sum():求和

 

select count(*) from emp;

select max(sal) from emp;

select min(sal) from emp;

select sum(sal) from emp;

select avg(sal) from emp;

 

二,分组统计

select deptno,count(empno) from emp group by deptno;

select deptno,round(avg(sal),2) from emp group by deptno;

如果程序中是用了分组函数,则有两种可以使用的情况:

1,程序中存在了group by,并指定了分组条件,这样可以将分组条件一起查询出来

2,如果不使用分组的话,则只能单独的使用分组函数

3,在使用分组函数的时候,不能出现分组函数和分组条件之外的字段

 

select deptno,empno,count(empno) from emp group by deptno,empno;

select d.dname,count(e.empno) from dept d,emp e where d.deptno=e.deptno group by d.dname;

 

分组函数只能在分组中使用,不允许在where语句之中出现,那么如果现在假设要指定分组的条件,则只能通过第二种条件的指令,having

 

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

 

select job,sum(sal) su from emp

where job <> 'SALEEMAN'

group by job

having sum(sal)>5000

order by su asc;

 

只要一列上存在重复的内容才有可能考虑到分组,分组函数可以嵌套使用,但是在组函数嵌套使用的时候不能再出现分组条件的查询语句。

 

 

转载于:https://www.cnblogs.com/jinzhengquan/archive/2011/02/06/1949540.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值