MySQL 分组统计(GROUP BY)是一种用于将数据按照一个或多个列进行分组,并对每个分组进行聚合操作的SQL语句。常见的聚合函数包括 COUNT、SUM、AVG、MAX 和 MIN 等。
MySQL 分组统计变慢的原因可能有以下几种:
假设有一个销售记录表 sales,结构如下:
CREATE TABLE sales (
id INT PRIMARY KEY,
product_id INT,
sale_date DATE,
quantity INT,
price DECIMAL(10, 2)
);我们可以按产品ID和月份进行分组统计:
SELECT
product_id,
DATE_FORMAT(sale_date, '%Y-%m') AS month,
SUM(quantity) AS total_quantity,
SUM(quantity * price) AS total_sales
FROM
sales
GROUP BY
product_id,
month
ORDER BY
product_id,
month;通过以上方法,可以有效提升 MySQL 分组统计的性能。