將記錄與指定字段中的相等值組合成單一記錄。如果使 SQL 合計(jì)函數(shù),例如 Sum或Count,蘊(yùn)含于 SELECT 語句中,會(huì)創(chuàng)建一個(gè)各記錄的總計(jì)值。
SELECT 字段表
FROM 表
WHERE標(biāo)準(zhǔn)
[GROUP BY 分組字段表]
包含 GROUP BY 子句的 SELECT 語句具有以下幾個(gè)部分:
部分 |
說明 |
fieldlist |
要和任何字段名別名, SQL 合計(jì)函數(shù), 選擇斷定 (ALL, DISTINCT, DISTINCTROW, 或 TOP),或其他 SELECT 語句 選擇一起檢索的字段名稱。 |
table |
從其中獲取記錄的表的名稱。欲知更多信息請(qǐng)看 FROM 子句. |
criteria |
選擇準(zhǔn)則。如果此語句包含一個(gè) WHERE 子句, Microsoft Jet 數(shù)據(jù)庫引擎 會(huì)在記錄上應(yīng)用WHERE條件,然后把值分組。 |
groupfieldlist |
用來對(duì)記錄分組的字段名,最多有 10 個(gè)字段。在 groupfieldlist 中字段名的順序?qū)Q定組層次,由最高至最低的層次來分組。 |
GROUP BY 是可選的。
如果在 SELECT 語句中沒有 SQL 合計(jì)函數(shù),則可省略總計(jì)值。
Null值在 GROUP BY字段中,則會(huì)被分組而不被省略。但是在任何 SQL 合計(jì)函數(shù)中不計(jì)算 Null 值。
使用 WHERE 子句可以排除您不想分組的行,而將記錄分組后,用 HAVING 子句過濾這些記錄。
除非包含備注數(shù)據(jù)或 OLE 對(duì)象數(shù)據(jù),否則, GROUP BY 字段列表中的字段可引用 FROM 子句中的任何表的任何字段,即使 SELECT 語句不包含此字段,只要它至少包含一個(gè) SQL 合計(jì)函數(shù)即可。Microsoft? Jet 數(shù)據(jù)庫引擎無法在“備注對(duì)象”或“OLE 對(duì)象”字段上進(jìn)行分組。
SELECT 字段列表中的全部字段必須包含在 GROUP BY 子句中,或在 SQL 合計(jì)函數(shù)中作為參數(shù)。