分组函数:
功能;它是用来做统计使用,又叫统计函数、聚合函数、组函数。
分类: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
本文详细介绍了SQL中的分组函数,包括sum求和、avg平均值、max最大值、min最小值、count计算个数的功能及使用场景。特别强调了COUNT()函数的不同用法,如统计工资种类、数据表中的行数等,并对比了不同存储引擎下COUNT(*)与COUNT(1)的效率差异。同时,提供了多个实际应用案例,如查询各部门员工工资的统计信息、员工入职时间差及特定部门员工数量。
1861

被折叠的 条评论
为什么被折叠?



