搜尋

首頁  >  問答  >  主體

使用MySQL SQL查詢計算另一張表中欄位的總和

我有一個這樣的模式:具有屬性「user_id」和「username」的使用者表 以及具有屬性「customer_id」(user_id 的 FK)和「finalPrice」的訂單表 資料庫結構定義 我想要獲得所有訂單組合中價格最高的用戶(基本上是訂單的所有 FinalPrice 值的總和,其中 customer_id = user_id) 無法完全想出解決方案,因此將感謝您的支持

select sum( (select o.final_price from `order` o where u.user_id=o.customer_id)) 
from user u group by u.user_id

是我嘗試過的,但我不斷遇到 「子查詢返回超過 1 行」 錯誤訊息。嘗試閱讀文檔,但我對 SQL 仍然非常缺乏經驗。

P粉244155277P粉244155277229 天前705

全部回覆(1)我來回復

  • P粉710478990

    P粉7104789902024-04-07 17:24:28

    根據您的查詢 您不能像這樣使用 SUM 函數,而是使用內部的 SUM,這就是為什麼它會拋出類似 Subquery 傳回超過 1 行的錯誤

    SELECT  
    u.user_id,
    (SELECT SUM(o.final_price) FROM `order` o WHERE u.user_id=o.customer_id)
    FROM 
    user u 
    GROUP BY u.user_id;

    回覆
    0
  • 取消回覆