4.MySQL——分组函数

分组函数:

功能;它是用来做统计使用,又叫统计函数、聚合函数、组函数。

分类:sum 求和、avg平均值、max最大值、min最小值、count计算个数

特点:

1.sum、avg一般只用于处理数值型数据

   max、min、count可以处理任何类型的数据

2.sum、avg、max、min、count,以上分组函数均忽略null值

3.可以和distinct搭配实现去重的运算

   如:SELCT SUM(DISTINCT(salary)), SUM(salary) FROM employees

4.和分组函数一同查询的字段要求数group by后面的字段

 

COUNT()函数详细介绍:

1.统计工资的种类:SELECT COUNT(salary) FROM employees             

2.统计数据表中的行数:SELECT  COUNT(常量) FROM 表名

                                如:(1)SELECT COUNT(*) FROM employees

                                       (2)SELECT COUNT(1) FTOM employees

 上述俩个统计函数的方法的效率比较: 

                                       MYISAM存储引擎下,COUNT(*)的存储效率比较高

                                       INNODB存储引擎下,COUNT(*)和COUNT(1)的效率差不多,只是比COUNT(字段)的效率高一些

综上所述,我们一般情况下,还是用COUNT(*)来统计行数。

 

习题:

1.查询各 job_id 的员工工资的最大值,最小值,平均值,总和,并按 job_id 升序

SELECT MAX(salary) ma_salary,MIN(salary) mi_salary,ROUD(AVG(salary),2) av_salary,SUM(salary)  sum_salary

FROM employees

ORDER BY job_id ASC

2.查询员工最大入职时间和最小入职时间之间相差的天数(DIFFERENCE)

SELECT DATEDIFF(MAX(hiredate),MIN(hiredate))

FROM employees

3.查询部门编号为90的员工个数

SELECT COUNT(*) 

FROM employees

WHERE department_id=90

 

                                     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值