GROUP BY 子句

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

語法

SELECT fieldlist
FROM table
WHERE 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 彙總函數。

擴展您的技能
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與其中一位 Office 支援專員連絡以深入了解您的意見。

×