沒有聚合函數的 GROUP BY 函數
理解 GROUP BY 操作可能具有挑戰性,特別是在排除聚合函數時。本文深入探討了這個概念及其意義。
在提供的範例中,您嘗試在沒有聚合函數的情況下對 EMP 表執行 GROUP BY 操作,導致出現多個錯誤。錯誤訊息「不是 GROUP BY 表達式」表示 GROUP BY 子句中指定的欄位必須與 SELECT 語句中選取的資料列相符。
要理解為什麼這是必要的,了解如何執行此操作至關重要GROUP BY 將多行轉換為單行。組合行時,需要指導處理具有不同值的欄位。因此,您在SELECT 語句中包含的每一列都必須:
例如,考慮下表:
Name | OrderNumber ------------------ John | 1 John | 2
如果僅對名稱執行GROUP BY,結果需要一個選擇 OrderNumber 的規則。選項包括:
在GROUP BY 子句中包含OrderNumber: 這會產生兩行:
使用聚合函數:
MAX(OrderNumber):結果:John | >SUM(訂單編號):結果:約翰 | 3
透過匹配 SELECT 和 GROUP BY 語句中的列,Oracle 確保資料操作的一致性並避免歧義。以上是為什麼沒有聚合函數的 SQL'GROUP BY”查詢會回傳錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!