AVG()计算平均值,SUM()计算总和,两者均忽略NULL值;可用于SELECT语句中统计数值字段,支持WHERE筛选和GROUP BY分组,常配合AS别名和ROUND()函数提升结果可读性。
在MySQL中,AVG() 和 SUM() 是常用的聚合函数,用于对数据进行统计计算。它们通常与 SELECT 语句结合使用,尤其适合处理数值类型的字段,比如价格、数量、分数等。
AVG() 函数用于返回某列的平均值,忽略 NULL 值。
基本语法:
SELECT AVG(列名) FROM 表名 [WHERE 条件];示例:
假设有一个名为 orders 的表,包含以下字段:
- order_id
- customer_id
- amount(订单金额)
要计算所有订单的平均金额:
SELECT AVG(amount) AS avg_amount FROM orders;结果会返回一个名为 avg_amount 的列,显示平均订单金额。
也可以结合 WHERE 条件筛选数据:
SELECT AVG(amount) AS avg_amount FROM orders WHERE customer_id = 100;这表示只计算客户 ID 为 100 的订单平均金额。
SUM() 函数用于返回某列所有值的总和,同样会忽略 NULL 值。
基本语法:
SELECT SUM(列名) FROM 表名 [WHERE 条件];示例:
继续使用 orders 表,计算所有订单的总金额:
如果只想计算某个时间段内的总销售额:
SELECT SUM(amount) AS monthly_total FROM orders WHERE order_date BETWEEN '2025-01-01' AND '2025-01-31';实际应用中,常将 AVG 和 SUM 与 GROUP BY 配合,按某一字段分组统计。
例如,按客户分组,查看每个客户的订单平均金额和总金额:
SELECT customer_id, AVG(amount) AS avg_amount, SUM(amount) AS total_amount FROM orders GR
OUP BY customer_id;这样可以清晰地看到每位客户的消费情况。
基本上就这些。掌握 AVG 和 SUM 能快速完成基础数据分析,是写 SQL 查询的必备技能。