进阶5:分组函数(一次处理一组数据得出一个结果)

本文详细介绍了SQL中的分组函数,包括求和(sum)、求平均(avg)、求最大值(max)、求最小值(min)及计数(count),并提供了实际应用场景示例,如统计员工工资总额、平均工资等。

说明:分组函数释意

分组函数往往用于实现将一组数据进行统计计算,最终得到一个值,又称为聚合函数或统计函数

分组函数就是一次处理一组数据得出一个数据的函数,常用于处理分组后,处理每一组的数据得出一个结果

分组函数清单:目前就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`;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值