将记录与指定字段中的相等值组合成单一记录。如果使 SQL 合计函数,例如 Sum或Count,蕴含于 SELECT 语句中,会创建一个各记录的总计值。
SELECT 字段表
FROM 表
WHERE标准
[GROUP BY 分组字段表]
包含 GROUP BY 子句的 SELECT 语句具有以下几个部分:
部分 | 说明 |
---|---|
fieldlist | 要和任何字段名别名, SQL 合计函数, 选择断定 (ALL, DISTINCT, DISTINCTROW, 或 TOP),或其他 SELECT 语句 选择一起检索的字段名称。 |
table | 从其中获取记录的表的名称。欲知更多信息请看 FROM 子句. |
criteria | 选择准则。如果此语句包含一个 WHERE 子句, Microsoft Jet 数据库引擎 会在记录上应用WHERE条件,然后把值分组。 |
groupfieldlist | 用来对记录分组的字段名,最多有 10 个字段。在 groupfieldlist 中字段名的顺序将决定组层次,由最高至最低的层次来分组。 |
GROUP BY 是可选的。
如果在 SELECT 语句中没有 SQL 合计函数,则可省略总计值。
Null值在 GROUP BY字段中,则会被分组而不被省略。但是在任何 SQL 合计函数中不计算 Null 值。
使用 WHERE 子句可以排除您不想分组的行,而将记录分组后,用 HAVING 子句过滤这些记录。
除非包含备注数据或 OLE 对象数据,否则, GROUP BY 字段列表中的字段可引用 FROM 子句中的任何表的任何字段,即使 SELECT 语句不包含此字段,只要它至少包含一个 SQL 合计函数即可。Microsoft® Jet 数据库引擎无法在“备注对象”或“OLE 对象”字段上进行分组。
SELECT 字段列表中的全部字段必须包含在 GROUP BY 子句中,或在 SQL 合计函数中作为参数。