搜尋

首頁  >  問答  >  主體

透過不同的方式聚合查詢中的 sql 表

我在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),

我想產生一個 SQL 查詢,它按月輸出過去 12 個月每個產品的總收入。

我不知何故需要分離出不同的產品,但我不確定如何建立這樣的查詢。

任何指標都會很棒

P粉162773626P粉162773626445 天前447

全部回覆(1)我來回復

  • 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 ;
    

    應該做同樣的事情(未經測試)

    回覆
    0
  • 取消回覆