我在sql中有三个表
order_table (order_id, product_id, amount)
products_table (product_id, name, price_usd),
all_orders (order_id, customer_id, order_date, total_amount),
我想生成一个 SQL 查询,它按月输出过去 12 个月每个产品的总收入。
我不知何故需要分离出不同的产品,但我不确定如何构建这样的查询。
任何指针都会很棒
P粉0434322102023-09-10 12:54:46
给出的答案是使用WITH....
,这是不需要的:
select DATE_FORMAT(all_orders.order_date, '%Y-%m') as order_date, name as product_name, sum(total_amount) as total_quantity, sum(price_usd * total_amount) as total_revenue from all_orders LEFT JOIN order_table USING (order_id) LEFT JOIN products_table USING (product_id) where all_orders.order_date >= date_sub(current_date(), interval 12 month) group by 1,2 ;
应该做同样的事情(未经测试)