【发布时间】:2017-03-26 12:42:35
【问题描述】:
我有 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
但它只显示上个月销售的产品,我想选择所有产品。
【问题讨论】:
-
您的查询中有错字。订单日期来自
o而不是od。