聚合函数:COUNT、SUM、AVG、MAX、MIN
引言 在数据分析和报表统计中,我们经常需要对数据进行汇总计算: 统计商品总数、总销售额 计算平均价格、平均评分 找出最高价、最低价 统计用户数、订单数 这些需求都需要通过聚合函数(Aggregate Functions)来实现。 为什么聚合函数如此重要? 数据分析的基础:90%的报表都需要聚合统计 业务指标计算:GMV、客单价、转化率等核心指标 性能优化关键:数据库层面的聚合比应用层效率高 决策支持:为业务决策提供数据依据 本文将系统讲解MySQL的五大聚合函数,以及它们在实际开发中的应用。 一、聚合函数基础 1.1 什么是聚合函数? 聚合函数对一组值执行计算,返回单个值。 五大聚合函数: COUNT():计数 SUM():求和 AVG():平均值 MAX():最大值 MIN():最小值 1.2 基本语法 SELECT aggregate_function(column_name) FROM table_name WHERE condition; 1.3 聚合函数的特点 输入多行,输出一行:对多条记录进行计算,返回一个结果 忽略NULL值:除了 COUNT(*) 外,其他聚合函数都忽略NULL 可与GROUP BY结合:对分组后的每组数据分别聚合 不能在WHERE中使用:WHERE是在聚合之前执行的 1.4 准备测试数据 -- 创建订单表 CREATE TABLE orders ( id INT PRIMARY KEY AUTO_INCREMENT, user_id INT NOT NULL, product_name VARCHAR(100), price DECIMAL(10, 2), quantity INT, order_date DATE, status VARCHAR(20) ); -- 插入测试数据 INSERT INTO orders (user_id, product_name, price, quantity, order_date, status) VALUES (1, 'iPhone 15 Pro', 7999.00, 1, '2024-11-01', 'completed'), (1, 'AirPods Pro', 1999.00, 1, '2024-11-02', 'completed'), (2, '华为Mate 60', 6999.00, 1, '2024-11-03', 'completed'), (2, '小米14', 3999.00, 2, '2024-11-04', 'completed'), (3, 'MacBook Pro', 14999.00, 1, '2024-11-05', 'pending'), (3, 'iPad Air', 4799.00, 1, '2024-11-06', 'completed'), (4, '小米13', 3299.00, 1, '2024-11-07', 'cancelled'), (5, '联想ThinkPad', NULL, 1, '2024-11-08', 'completed'), -- 价格为NULL (6, 'AirPods Pro', 1999.00, 2, '2024-11-09', 'completed'), (7, '索尼WH-1000XM5', 2499.00, 1, '2024-11-10', 'completed'); 二、COUNT() - 计数函数 2.1 COUNT(*) - 统计总行数 统计所有行数,包括NULL值的行。 ...