聚合函数是MySQL中一类特殊的函数,主要用于对一组值进行计算并返回单个值,它们通常用于数据查询和报表生成等场景,可以极大地简化SQL查询的编写,在MySQL中,常见的聚合函数有:COUNT、SUM、AVG、MIN、MAX等。
1、COUNT函数
COUNT函数用于统计表中记录的数量,它可以接受一个或多个列作为参数,也可以接受一个DISTINCT关键字来去除重复的记录,COUNT函数的基本语法如下:
SELECT COUNT(column_name) FROM table_name;
要统计employees表中的员工数量,可以使用以下SQL语句:
SELECT COUNT(*) FROM employees;
如果要统计employees表中不同部门的员工数量,可以使用DISTINCT关键字:
SELECT COUNT(DISTINCT department_id) FROM employees;
2、SUM函数
SUM函数用于计算指定列的总和,它可以接受一个或多个列作为参数,也可以接受一个DISTINCT关键字来去除重复的记录,SUM函数的基本语法如下:
SELECT SUM(column_name) FROM table_name;
要计算employees表中员工的总工资,可以使用以下SQL语句:
SELECT SUM(salary) FROM employees;
如果要计算employees表中不同部门的总工资,可以使用DISTINCT关键字:
SELECT SUM(DISTINCT salary) FROM employees;
3、AVG函数
AVG函数用于计算指定列的平均值,它可以接受一个或多个列作为参数,也可以接受一个DISTINCT关键字来去除重复的记录,AVG函数的基本语法如下:
SELECT AVG(column_name) FROM table_name;
要计算employees表中员工的平均工资,可以使用以下SQL语句:
SELECT AVG(salary) FROM employees;
如果要计算employees表中不同部门的平均工资,可以使用DISTINCT关键字:
SELECT AVG(DISTINCT salary) FROM employees;
4、MIN函数和MAX函数
MIN函数用于获取指定列的最小值,MAX函数用于获取指定列的最大值,它们可以接受一个或多个列作为参数,也可以接受一个DISTINCT关键字来去除重复的记录,MIN函数和MAX函数的基本语法如下:
SELECT MIN(column_name) FROM table_name; SELECT MAX(column_name) FROM table_name;
要获取employees表中员工的最低工资和最高工资,可以使用以下SQL语句:
SELECT MIN(salary), MAX(salary) FROM employees;
如果要获取employees表中不同部门的最低工资和最高工资,可以使用DISTINCT关键字:
SELECT MIN(DISTINCT salary), MAX(DISTINCT salary) FROM employees;
5、GROUP BY子句与聚合函数的结合使用
在实际开发中,我们经常需要对分组后的数据进行聚合计算,这时,可以使用GROUP BY子句将数据按照指定的列进行分组,然后结合聚合函数进行计算,基本语法如下:
SELECT column_name, aggregate_function(column_name) FROM table_name WHERE condition GROUP BY column_name;
要统计每个部门的员工数量、总工资、平均工资、最低工资和最高工资,可以使用以下SQL语句:
SELECT department_id, COUNT(*), SUM(salary), AVG(salary), MIN(salary), MAX(salary) FROM employees GROUP BY department_id;
问题与解答:
1、Q: 在使用聚合函数时,是否可以使用DISTINCT关键字?A: 是的,可以使用DISTINCT关键字去除重复的记录,使用COUNT(DISTINCT column_name)来计算不重复的记录数量。
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/368326.html