4.1 聚合函数

一、什么是聚合函数

聚合函数是用来做简单的数据统计的。比如说统计一下员工表里边平均的工龄是多少年,员工表里边一共有多少条记录,这些都需要用到聚合函数。刚才说到了聚合函数能实现简单的数据统计,聚合函数又被称作是汇总函数,它能帮我们实现统计某个字段的最大值、最小值、平均值求和,还有记录的条数。如果我们不指定统计的范围,那么去核算函数统计的范围,就是整张数据表

聚合函数示例:

求公司公司员工的平均月收入是多少


select
avg(sal+ifnull(comm,0)) as "平均工资" 

from t_emp

# as 给这列取别名

1.1 SUM函数

sum函数是对某个字段进行求和,所以该字段的数据类型必须得是数字类型

比如说下面这条sql语句,对于name这样的字符串类型的字段求和,最终的结果就是零

如果说对日期类型的字段求和,最终的结果就是日期的毫秒数相加。所以说正确的做法就是对数字类型进行求和

select sum(ename) from t_emp

问题1:查询10,20部门的员工表里边所有人的底薪加在一起是多少钱

select sum(sal)
from t_emp
where deptno in(10,20);

1.2 MAX函数

MAX 函数返回的结果是字段里边非空的最大值

问题2:查询10,20部门月收入最高的员工工资是多少钱

select 
max(sal+ifnull(comm,0))
from t_emp
where deptno in(10,20)

问题3 :查询员工表中名字最长的员工

select
max(length(ename))
from t_emp;

LENGTH():统计字符的个数

1.3 MIN函数

MIN函数用于或者非空值的最小值

1.4 AVG函数

AVG函数用于或者非空值的平均值

1.5 COUNT函数

COUNT函数有两种用法。第一种是在参数里面写上*,而另一种用法是在这个参数里面写上具体的字段名称,那么它们之间的差别

比如第一个例子,这个from还是查询的员工表的数据,然后select子句里面写了一个count(*),那这个count星的意思就是查询员工表里面所有的这个记录的数量。不管你这个记录是不是有空值,都算上是有效的记录

第二种:count里边的参数换成了comm, 那么它在统计的时候,会把这个字段那些非空的记录都排除在外。所以统计出来的这个记录数量的就是那些佣金不为空的记录的数量。

select count(*),count(comm)
from t_emp

问题4:查询一下10和20部门里边,底薪超过2000元,并且工龄超过15年的这样的员工的人数

select 
count(*)
from t_emp
where deptno in(10,20) 
and sal>2000 and datediff(now(),hiredate)/365>15;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值