Rumah  >  Soal Jawab  >  teks badan

Agregat jadual sql dalam pertanyaan dengan cara yang berbeza

Saya mempunyai tiga jadual dalam 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),

Saya ingin menjana pertanyaan SQL yang menghasilkan jumlah hasil bagi setiap produk mengikut bulan selama 12 bulan yang lalu.

Saya entah bagaimana perlu mengasingkan produk yang berbeza tetapi saya tidak pasti bagaimana untuk menyusun pertanyaan sedemikian.

Sebarang petunjuk pasti bagus

P粉162773626P粉162773626376 hari yang lalu404

membalas semua(1)saya akan balas

  • P粉043432210

    P粉0434322102023-09-10 12:54:46

    Jawapan

    yang diberikan oleh adalah menggunakan WITH...., yang tidak diperlukan:

    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 ;
    

    Hendaklah melakukan perkara yang sama (belum diuji)

    balas
    0
  • Batalbalas