Rumah > Soal Jawab > teks badan
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粉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)