gpt4 book ai didi

mysql - 选择过去 3 个月每月的平均销售数量

转载 作者:行者123 更新时间:2023-11-29 19:11:46 25 4
gpt4 key购买 nike

我有 3 个 mysql 表,如下所示:

 - product(product_id, product_name)
- order(order_id, order_date)
- order_detail(order_detail_id, product_id, order_id, quantity)

我想要获取过去三个月计算的每月销售产品数量的平均值,并按产品分组

我想选择所有产品(过去三个月内是否已售出)。

 product_name | avg_quantity_sold_per_month
--------------|-----------------------------
product_1 | 50
product_2 | 0
product_3 | 78

我尝试了这个查询:

 select 
p.product_name
, sum(od.quantity)/3 as avg_quantity_sold_per_month
from order o
inner join order_detail od on o.order_id = od.order_id
inner join product p on od.product_id = p.product_id
where
o.order_date >= now()-interval 3 month
group by p.product_id

但它只显示最近几个月销售的产品,我想选择所有产品。

最佳答案

使用左连接:

select p.product_name,
sum(od.quantity) / 3 as avg_quantity_sold_per_month
from product p
left join order_detail od on od.product_id = p.product_id
left join orders o on o.order_id = od.order_id
and o.order_date >= now() - interval 3 month
group by p.product_id

此外,尽量不要使用 order 等保留关键字作为标识符。

关于mysql - 选择过去 3 个月每月的平均销售数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43028848/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com