我有一個這樣的模式:具有屬性「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粉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;