Agregat jadual sql dalam pertanyaan dengan cara yang berbeza
P粉162773626
P粉162773626 2023-09-09 13:54:44
0
1
439

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

membalas semua(1)
P粉043432210

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)

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan