MySQL数据库学习之分组函数详解
在MySQL中,分组函数是一种用于对一组值进行计算并返回单个值的函数,它们通常与GROUP BY子句一起使用,以便对查询结果进行分组和汇总,本文将详细介绍MySQL中的分组函数及其用法。
1、COUNT()函数
COUNT()函数用于计算表中的记录数,它可以接受一个可选的参数,用于指定要计算的列,如果没有指定参数,那么它将计算所有非NULL值的数量。
语法:
SELECT COUNT(*) FROM table_name; SELECT COUNT(column_name) FROM table_name;
示例:
-计算表中的所有记录数 SELECT COUNT(*) FROM employees; -计算特定列中的非NULL值的数量 SELECT COUNT(salary) FROM employees;
2、SUM()函数
SUM()函数用于计算表中某一列的总和,它可以接受一个可选的参数,用于指定要计算的列,如果没有指定参数,那么它将计算所有非NULL值的总和。
语法:
SELECT SUM(column_name) FROM table_name;
示例:
-计算特定列的总和 SELECT SUM(salary) FROM employees;
3、AVG()函数
AVG()函数用于计算表中某一列的平均值,它可以接受一个可选的参数,用于指定要计算的列,如果没有指定参数,那么它将计算所有非NULL值的平均值。
语法:
SELECT AVG(column_name) FROM table_name;
示例:
-计算特定列的平均值 SELECT AVG(salary) FROM employees;
4、MIN()函数
MIN()函数用于计算表中某一列的最小值,它可以接受一个可选的参数,用于指定要计算的列,如果没有指定参数,那么它将计算所有非NULL值的最小值。
语法:
SELECT MIN(column_name) FROM table_name;
示例:
-计算特定列的最小值 SELECT MIN(salary) FROM employees;
5、MAX()函数
MAX()函数用于计算表中某一列的最大值,它可以接受一个可选的参数,用于指定要计算的列,如果没有指定参数,那么它将计算所有非NULL值的最大值。
语法:
SELECT MAX(column_name) FROM table_name;
示例:
-计算特定列的最大值 SELECT MAX(salary) FROM employees;
6、GROUP BY子句与分组函数的结合使用
分组函数通常与GROUP BY子句一起使用,以便对查询结果进行分组和汇总,我们可以使用GROUP BY子句和COUNT()函数来计算每个部门的员工数量。
语法:
SELECT department, COUNT(*) as employee_count FROM employees GROUP BY department;
示例:
-计算每个部门的员工数量 SELECT department, COUNT(*) as employee_count FROM employees GROUP BY department;
7、HAVING子句与分组函数的结合使用
HAVING子句用于过滤分组后的结果,它通常与GROUP BY子句和聚合函数(如COUNT、SUM、AVG等)一起使用,我们可以使用HAVING子句来筛选出员工数量大于10的部门。
语法:
SELECT department, COUNT(*) as employee_count FROM employees GROUP BY department HAVING employee_count > 10;
示例:
-筛选出员工数量大于10的部门 SELECT department, COUNT(*) as employee_count FROM employees GROUP BY department HAVING employee_count > 10;
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/354207.html