上一篇
mysql 分组
- 行业动态
- 2024-04-23
- 1
MySQL分组是将查询结果按照指定的列进行分类,可以使用GROUP BY子句实现。SELECT column1, COUNT(column2) FROM table GROUP BY column1;
在MySQL中,可以使用GROUP BY子句和聚合函数(如COUNT()、SUM()、AVG()等)实现分组计算,以下是一个详细的示例:
1、准备数据表
创建一个名为sales的数据表,包含以下字段:
id:主键,自增长
product_id:产品ID
sale_date:销售日期
quantity:销售数量
插入一些示例数据:
INSERT INTO sales (product_id, sale_date, quantity) VALUES (1, '20220101', 10), (1, '20220102', 20), (1, '20220103', 30), (2, '20220101', 5), (2, '20220102', 15), (2, '20220103', 25);
2、分组计算每个产品的总销售数量
使用GROUP BY子句和SUM()聚合函数对每个产品的总销售数量进行分组计算:
SELECT product_id, SUM(quantity) AS total_quantity FROM sales GROUP BY product_id;
查询结果如下:
product_id | total_quantity |
1 | 60 |
2 | 45 |
3、分组计算每个产品的月销售数量
使用GROUP BY子句和SUM()聚合函数对每个产品的月销售数量进行分组计算:
SELECT product_id, YEAR(sale_date) AS year, MONTH(sale_date) AS month, SUM(quantity) AS monthly_quantity FROM sales GROUP BY product_id, YEAR(sale_date), MONTH(sale_date);
查询结果如下:
product_id | year | month | monthly_quantity |
1 | 2022 | 1 | 60 |
1 | 2022 | 2 | 50 |
1 | 2022 | 3 | 40 |
2 | 2022 | 1 | 5 |
2 | 2022 | 2 | 30 |
2 | 2022 | 3 | 45 |
4、分组计算每个产品的年销售总量和年销售平均值
使用GROUP BY子句和SUM()、AVG()聚合函数对每个产品的年销售总量和年销售平均值进行分组计算:
SELECT product_id, YEAR(sale_date) AS year, SUM(quantity) AS total_quantity, AVG(quantity) AS average_quantity FROM sales GROUP BY product_id, YEAR(sale_date);
查询结果如下:
product_id | year | total_quantity | average_quantity |
1 | 2022 | 90 | 30 |
2 | 2022 | 75 | 37.5 |
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/230386.html