说明:分组函数释意
分组函数往往用于实现将一组数据进行统计计算,最终得到一个值,又称为聚合函数或统计函数
分组函数就是一次处理一组数据得出一个数据的函数,常用于处理分组后,处理每一组的数据得出一个结果
分组函数清单:目前就5个函数
sum(字段名):求和
avg(字段名):求平均数
max(字段名):求最大值
min(字段名):求最小值
count(字段名):计算非空字段值得个数(自动去空,不统计null)
示例:
#案例一:查询员工信息表中,所有员工的工资和,工资平均值,最低工资,最高工资,有工资个数
SELECT SUM(salary
),AVG(salary
),MAX(salary
),MIN(salary
),COUNT(salary
) FROM employees;
#案例二:添加筛选条件
#1.查询emp表中的记录数
SELECT COUNT(employee_id
) FROM employees
;
#2.查询表中有工资的人
SELECT COUNT(salary
) FROM employees
;
#3.查询emp表中月薪大于25000的人数
SELECT COUNT(salary
) FROM employees
WHERE salary
>2500;
count补充介绍
1、统计结果集的行数,推荐使用count(*)
#COUNT()专门用来统计行数
SELECT COUNT() FROM employees
;
SELECT COUNT(*) FROM employees
WHERE department_id
=30;
#count(1) 也是用来统计行数
SELECT COUNT(1) FROM employees;
2.搭配distinct实现去重的统计
需求:查询有员工的部门个数
SELECT COUNT(DISTINCT department_id
) FROM employees
;
示例
#进阶5:分组函数
/*
说明:分组函数往往用于实现将一组数据进行统计计算,最终得到一个值,又称为聚合函数或统计函数
分组函数清单:
sum(字段名):求和
avg(字段名):求平均数
max(字段名):求最大值
min(字段名):求最小值
count(字段名):计算非空字段值得个数(自动去空,不统计null)
*/
#案例一:查询员工信息表中,所有员工的工资和,工资平均值,最低工资,最高工资,有工资个数
SELECT SUM(`salary`),AVG(`salary`),MAX(`salary`),MIN(`salary`),COUNT(`salary`) FROM employees;
#案例二:添加筛选条件
#1.查询emp表中的记录数
SELECT COUNT(`employee_id`) FROM `employees`;
#2.查询表中有工资的人
SELECT COUNT(`salary`) FROM `employees`;
#3.查询emp表中月薪大于25000的人数
SELECT COUNT(`salary`) FROM `employees` WHERE `salary`>2500;
#count补充介绍
#1、统计结果集的行数,推荐使用count(*)
#COUNT(*)专门用来统计行数
SELECT COUNT(*) FROM `employees`;
SELECT COUNT(*) FROM `employees` WHERE `department_id`=30;
#count(1) 也是用来统计行数
SELECT COUNT(1) FROM employees;
#2.搭配distinct实现去重的统计
#需求:查询有员工的部门个数
SELECT COUNT(DISTINCT `department_id`) FROM `employees`;
#思考:每个部门的总工资,平均工资?
分组查询:和分组函数一起查询的就是分组的字段
SELECT SUM(`salary`),`department_id`
FROM `employees`
GROUP BY `department_id`;