云主机测评网云主机测评网云主机测评网

云主机测评网
www.yunzhuji.net

mysql 分组

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
打赏
版权声明:主机测评不销售、不代购、不提供任何支持,仅分享信息/测评(有时效性),自行辨别,请遵纪守法文明上网。
文章名称:《mysql 分组》
文章链接:https://www.yunzhuji.net/jishujiaocheng/52451.html

评论

  • 验证码