Mysql聚合函数如何使用

发布时间:2022-10-17 09:40:20 作者:iii
来源:亿速云 阅读:136

Mysql聚合函数如何使用

在MySQL中,聚合函数(Aggregate Functions)用于对一组值执行计算,并返回单个值。聚合函数通常与GROUP BY子句一起使用,以便对分组后的数据进行汇总。本文将详细介绍MySQL中常用的聚合函数及其使用方法。

1. 常用的聚合函数

MySQL提供了多种聚合函数,以下是一些常用的聚合函数:

2. COUNT() 函数

COUNT()函数用于计算表中的行数。它可以用于计算所有行或满足特定条件的行。

2.1 计算所有行数

SELECT COUNT(*) FROM employees;

上述查询将返回employees表中的总行数。

2.2 计算满足条件的行数

SELECT COUNT(*) FROM employees WHERE department = 'Sales';

上述查询将返回employees表中departmentSales的行数。

2.3 计算非空值的行数

SELECT COUNT(manager_id) FROM employees;

上述查询将返回employees表中manager_id列非空的行数。

3. SUM() 函数

SUM()函数用于计算数值列的总和。

3.1 计算所有行的总和

SELECT SUM(salary) FROM employees;

上述查询将返回employees表中salary列的总和。

3.2 计算满足条件的行的总和

SELECT SUM(salary) FROM employees WHERE department = 'Sales';

上述查询将返回employees表中departmentSales的员工的salary总和。

4. AVG() 函数

AVG()函数用于计算数值列的平均值。

4.1 计算所有行的平均值

SELECT AVG(salary) FROM employees;

上述查询将返回employees表中salary列的平均值。

4.2 计算满足条件的行的平均值

SELECT AVG(salary) FROM employees WHERE department = 'Sales';

上述查询将返回employees表中departmentSales的员工的salary平均值。

5. MIN() 函数

MIN()函数用于查找列中的最小值。

5.1 查找所有行的最小值

SELECT MIN(salary) FROM employees;

上述查询将返回employees表中salary列的最小值。

5.2 查找满足条件的行的最小值

SELECT MIN(salary) FROM employees WHERE department = 'Sales';

上述查询将返回employees表中departmentSales的员工的salary最小值。

6. MAX() 函数

MAX()函数用于查找列中的最大值。

6.1 查找所有行的最大值

SELECT MAX(salary) FROM employees;

上述查询将返回employees表中salary列的最大值。

6.2 查找满足条件的行的最大值

SELECT MAX(salary) FROM employees WHERE department = 'Sales';

上述查询将返回employees表中departmentSales的员工的salary最大值。

7. GROUP_CONCAT() 函数

GROUP_CONCAT()函数用于将多个行的值连接成一个字符串。

7.1 连接所有行的值

SELECT GROUP_CONCAT(first_name) FROM employees;

上述查询将返回employees表中first_name列的所有值连接成一个字符串。

7.2 连接满足条件的行的值

SELECT GROUP_CONCAT(first_name) FROM employees WHERE department = 'Sales';

上述查询将返回employees表中departmentSales的员工的first_name连接成一个字符串。

7.3 使用分隔符连接值

SELECT GROUP_CONCAT(first_name SEPARATOR ', ') FROM employees;

上述查询将返回employees表中first_name列的所有值连接成一个字符串,并使用逗号和空格作为分隔符。

8. 使用 GROUP BY 子句

聚合函数通常与GROUP BY子句一起使用,以便对分组后的数据进行汇总。

8.1 按部门分组计算平均工资

SELECT department, AVG(salary) FROM employees GROUP BY department;

上述查询将返回每个部门的平均工资。

8.2 按部门分组计算总工资

SELECT department, SUM(salary) FROM employees GROUP BY department;

上述查询将返回每个部门的总工资。

8.3 按部门分组计算员工人数

SELECT department, COUNT(*) FROM employees GROUP BY department;

上述查询将返回每个部门的员工人数。

9. 使用 HAVING 子句

HAVING子句用于过滤分组后的数据。

9.1 过滤平均工资大于5000的部门

SELECT department, AVG(salary) FROM employees GROUP BY department HAVING AVG(salary) > 5000;

上述查询将返回平均工资大于5000的部门。

9.2 过滤员工人数大于10的部门

SELECT department, COUNT(*) FROM employees GROUP BY department HAVING COUNT(*) > 10;

上述查询将返回员工人数大于10的部门。

10. 总结

MySQL的聚合函数是处理和分析数据的重要工具。通过使用COUNT()SUM()AVG()MIN()MAX()GROUP_CONCAT()等函数,可以轻松地对数据进行汇总和计算。结合GROUP BYHAVING子句,可以进一步对分组后的数据进行过滤和分析。掌握这些聚合函数的使用方法,将大大提高数据处理的效率和灵活性。

推荐阅读:
  1. MYSQL查询--聚合函数查询
  2. MySQL的四个聚合函数介绍

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

mysql

上一篇:JavaScript Object.defineProperty与proxy代理模式如何使用

下一篇:如何用Java手写一个简易的lombok

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》