suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Aggregieren Sie SQL-Tabellen in Abfragen auf unterschiedliche Weise

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粉162773626P粉162773626476 Tage vor463

Antworte allen(1)Ich werde antworten

  • P粉043432210

    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 ;
    

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

    Antwort
    0
  • StornierenAntwort