Applies ToAccess for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Access 中的 GROUP BY 子句將指定欄位清單中相同的值記錄合併為單筆記錄。 如果您在 SELECT 陳述式中包含 SQL 彙總函數 (例如 SumCount),則會為每筆記錄建立摘要值。

語法

SELECT fieldlistFROM tableWHERE criteria[GROUP BY groupfieldlist]

包含 GROUP BY 子句的 SELECT 陳述式包括下列參數:

部分

描述

fieldlist

要擷取的一或多個欄位名稱,以及任何欄位名稱的別名、SQL 彙總函數、選取述詞 (ALL、DISTINCT、DISTINCTROW 或 TOP),或是其他 SELECT 陳述式選項。

table

從其中擷取記錄之資料表的名稱。

criteria

選取準則。 如果陳述式包含 WHERE 子句,則 Microsoft Access 資料庫引擎會在將 WHERE 條件套用到記錄後,對值進行分組。

groupfieldlist

分組記錄的名稱最多可用 10 個欄位。 群組層次由 groupfieldlist 中的欄位名稱順序決定,從最高到最低層級群組。

備註

GROUP BY 是選用子句。

如果 SELECT 陳述式中不包含 SQL 彙總函數,就會省略摘要值。

GROUP BY 欄位中的 Null 值會分組,不會省略。 不過,Null 值不會在任何 SQL 彙總函數中進行評估。

使用 WHERE 子句可以排除不想群組的列,使用 HAVING 子句可以篩選群組後的記錄。

除非包含 [備忘] 或 [OLE 物件] 資料,否則,只要 SELECT 陳述式包含至少一個 SQL 彙總函數,GROUP BY 欄位清單中的欄位就可以參照到 FROM 子句中列出之任何資料表的任何欄位,即使此欄位不包含在 SELECT 陳述式中。 Microsoft Access 資料庫引擎無法對 [備忘] 或 [OLE 物件] 欄位進行分組動作。

SELECT 欄位清單中的所有欄位都必須納入 GROUP BY 子句,或做為引數納入 SQL 彙總函數。

Need more help?

Want more options?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。