Heim > Fragen und Antworten > Hauptteil
Ich habe drei Tabellen in 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),
Ich möchte eine SQL-Abfrage generieren, die den Gesamtumsatz für jedes Produkt pro Monat für die letzten 12 Monate ausgibt.
Ich muss irgendwie die verschiedenen Produkte trennen, bin mir aber nicht sicher, wie ich eine solche Abfrage strukturieren soll.
Jeder Hinweis wäre großartig
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 ;
应该做同样的事情(未经测试)