理解SQL 中的「不是單組組函數」錯誤
在SQL 中,單組組函數,例如MAX()、 SUM() 或AVG() 會套用於指定分組列中具有相同值的一組行。但是,如果您嘗試將各個清單達式與群組函數一起包含在 SELECT 清單中,並且不在 GROUP BY 子句中包含所有這些表達式,您將遇到「不是單組組函數」錯誤。
問題說明
在範例SQL 語句中,您提供:
SELECT SSN, MAX(SUM(TIME)) FROM downloads GROUP BY SSN
查詢嘗試計算每個唯一SSN 的TIME 總和的最大值,然後傳回與該最大值關聯的SSN。但是,此查詢有一個基本問題:
解決方案
解決此問題錯誤,您有三個選項:
使用選項的範例查詢2
SELECT SSN, MAX(SUM(TIME)) FROM downloads GROUP BY SSN, TIME
此查詢將按SSN 和TIME 將結果分組,讓您與每個SSN 的擷取最大TIME 總和關聯的SSN。
以上是為什麼我的 SQL 查詢會產生「不是單組組函數」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!