MYSQL-聚合函数

常用的聚合函数

AVG(expr)

  • 返回某个数值字段的平均值
SELECT
	department_id,
	AVG(salary)
FROM
	employees
GROUP BY
	department_id;

SELECT AVG(IFNULL(commission_pct,0)),SUM(commission_pct)/COUNT(IFNULL(commission_pct,0)) FROM employees;

SUM(expr)

  • 返回某个数值字段的总和
SELECT
	department_id,
	AVG(salary) AS avg,
	SUM(salary) AS sum
FROM
	employees
GROUP BY
	department_id
HAVING
	avg > 10000;

MAX(expr)

  • 返回某个数值字段的最大值

MIN(expr)

  • 返回某个数值字段的最小值
SELECT
	department_id,
	MAX(salary),
	MIN(salary)
FROM
	employees
GROUP BY
	department_id;

COUNT(expr)

  • 返回expr的条数
SELECT
	COUNT(employee_id),
	COUNT(department_id),
	COUNT(commission_pct),
	COUNT(1),
	COUNT(*)
FROM
	employees;

WITH ROLLUP

  • 对聚合函数进行求和
  • 是对GROUP BY后的第一个字段,进行分组求和。
  • 当使用ROLLUP时,不能同时使用ORDER BY子句进行结果排序
SELECT job_id,AVG(salary) FROM employees GROUP BY job_id WITH ROLLUP;
/*
...
ST_CLERK	2785
ST_MAN	7280
NULL	6461.682243 
*/

HAVING

  • 当过滤条件中有聚合函数时,则此过滤条件必须声明在HAVING中
  • 使用HAVING的前提是SQL中使用了GROUP BY
  • 相比WHERE,HAVING的适用范围更广
  • 如果过滤条件中没有聚合函数,WHERE的执行效率更高
#查询各个管理者手下员工的最低工资,其中最低工资不能低于6000,没有管理者的员工不计算在内
SELECT
	manager_id,
	MIN(salary)
FROM
	employees
WHERE
	manager_id IS NOT NULL
GROUP BY
	manager_id
HAVING
	MIN(salary) >= 6000;

SQL语法

SELECT ....,....,....(存在聚合函数)
FROM ... (LEFT / RIGHT)JOIN ....ON 多表的连接条件 
(LEFT / RIGHT)JOIN ... ON ....
WHERE 不包含聚合函数的过滤条件
GROUP BY ...,....
HAVING 包含聚合函数的过滤条件
ORDER BY ....,...(ASC / DESC )
LIMIT ...,....

SQL的执行过程

FROM ...,...-> ON -> (LEFT/RIGNT  JOIN) -> WHERE -> GROUP BY -> HAVING -> SELECT -> DISTINCT -> ORDER BY -> LIMIT
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: MySQL 数据库中可以使用聚合函数来对查询结果进行统计分析。常用的聚合函数包括:COUNT()、SUM()、AVG()、MIN()、MAX()。 例如,在一个订单表中,想要统计订单总数,可以使用如下语句: ``` SELECT COUNT(*) FROM orders; ``` 如果想要统计订单总额,可以使用如下语句: ``` SELECT SUM(amount) FROM orders; ``` 若想对某个字段求平均值,可以使用AVG函数,例如: ``` SELECT AVG(price) FROM products; ``` 更多详细用法可以参考MySQL 官方文档。 ### 回答2: MYSQL数据库中的聚合函数可以对数据进行汇总和计算。聚合函数一般用于统计或者分析数据,如查询总和、平均值、最大值、最小值、计数等。 聚合函数有很多种,常用的包括SUM、AVG、MAX、MIN和COUNT等。这些函数可以用于单个列或多个列,也可以与WHERE子句一起使用,从而实现更精确的数据查询和分析。 例如,假设我们有一个名为Students的表,其中包含学生的姓名、性别、年龄和成绩等信息。我们可以使用聚合函数来查询这些学生平均年龄和成绩的总和。 查询平均年龄: SELECT AVG(age) FROM Students; 查询成绩总和: SELECT SUM(score) FROM Students; 我们还可以将聚合函数与GROUP BY子句一起使用,以对每个组进行聚合,进一步分析和统计数据。例如,我们可以按性别分组并计算每个性别的平均年龄和成绩总和。 按性别分组查询平均年龄和成绩总和: SELECT gender, AVG(age), SUM(score) FROM Students GROUP BY gender; 聚合函数在数据分析和统计方面非常有用。通过熟练掌握这些函数的使用方法,我们可以更好地理解和分析数据,以便做出更有意义的决策。 ### 回答3: MySQL数据库是一种现代的关系型数据库管理系统,常用于Web应用程序开发中存储和管理数据。在MySQL中,聚合函数可以帮助我们对数据进行统计和分析。聚合函数可以对数据库中的数据进行处理,并返回聚合数据的结果。 MySQL中常用的聚合函数包括AVG()、SUM()、COUNT()、MAX()和MIN()。这些函数可以用于单个列或多个列,以及一些特定条件和限制。 AVG()函数用于计算一个列中所有值的平均值,例如: SELECT AVG(column_name) FROM table_name; SUM()函数用于计算一个列中所有值的总和,例如: SELECT SUM(column_name) FROM table_name; COUNT()函数用于计算一个列中值的数目,例如: SELECT COUNT(column_name) FROM table_name; MAX()函数用于计算一个列中最大值,例如: SELECT MAX(column_name) FROM table_name; MIN()函数用于计算一个列中最小值,例如: SELECT MIN(column_name) FROM table_name; 在MySQL中,你可以在一个查询语句中使用多个聚合函数,并使用GROUP BY子句对结果进行分组。GROUP BY子句通常配合聚合函数使用,可对结果集按照一个或多个列进行分组。例如: SELECT column_name1, COUNT(column_name2), MAX(column_name3) FROM table_name GROUP BY column_name1; 此查询将根据column_name1对表table_name进行分组,并显示每组的计数和最大值。 总之,聚合函数是MySQL数据库中的一个强大工具,它可以帮助开发人员实现高效的数据统计和分析,以更好地理解和使用数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梅尝酥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值