Aggregieren Sie SQL-Tabellen in Abfragen auf unterschiedliche Weise
P粉162773626
P粉162773626 2023-09-09 13:54:44
0
1
460

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粉162773626
P粉162773626

Antworte allen(1)
P粉043432210

给出的答案是使用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 ;

应该做同样的事情(未经测试)

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage