Access 2003完整教程:GROUP BY 子句

将特定字段列表中相同的记录组合成单个记录。如果在 SELECT 语句中包含 SQL 聚合函数(如 Sum 或 Count),那么将为每条记录创建一个摘要值。

语法

SELECT fieldlist
FROM table
WHERE criteria
[GROUP BY groupfieldlist]

包含了 GROUP BY 子句的 SELECT 语句具有以下部分:

部分说明
fieldlist任何要检索的字段的名称,以及任何字段名别名、SQL 聚合函数、选择谓词(ALL、DISTINCT、DISTINCTROW 或 TOP)或其他 SELECT 语句选项。
table要从中检索记录的表的名称。
criteria选择条件。如果语句包含 WHERE 子句,那么Microsoft Jet 数据库引擎将在对记录应用 WHERE 条件后对值进行分组。
groupfieldlist最多 10 个用于分组记录的字段的名称。groupfieldlist 中的字段名称的顺序决定了从最高到最低分组级别方法的分组级别。

说明

GROUP BY 是可选的。

如果在 SELECT 语句中没有 SQL 聚合函数,将省略汇总值。

在 GROUP BY 字段中的Null值会被分组,不会被忽略。但是,任何 SQL 聚合函数都不会计算Null

通过 WHERE 子句可以排除不需要参加分组的行,通过 HAVING 子句可以过滤已经分组的记录。

除非包含备注OLE 对象数据,否则,GROUP BY 字段列表中的字段可以引用任何 FROM 子句中所列表中的任何字段,即使该字段并不包含在 SELECT 语句中(假设 SELECT 语句至少包含了一个 SQL 聚合函数)。Microsoft? Jet 数据库引擎不能对备注或 OLE 对象字段进行分组。

在 SELECT 字段列表中的所有字段必须包含于 GROUP BY 子句中,或作为参数包含于 SQL 聚合函数中。

请参阅
ALL DISTINCT、DISTINCTROW、TOP 谓词 SELECT
FROM 子句 SELECT...INTO 语句
HAVING 子句 SQL 聚合函数
ORDER BY 子句 WHERE 子句

上页:Access 2003完整教程:GRANT 语句 下页:Access 2003完整教程:HAVING 子句

Access 2003完整教程:GROUP BY 子句

Access 2003完整教程:HAVING 子句Access 2003完整教程:IN 子句
Access 2003完整教程:INNER JOIN 操作Access 2003完整教程:In 运算符
Access 2003完整教程:INSERT INTO 语句Access 2003完整教程:SQL 数据类型
Access 2003完整教程:SQL 保留字Access 2003完整教程:Microsoft Jet SQL 和 ANSI SQL 的比较
Access 2003完整教程:LEFT JOIN、RIGHT JOIN 操作Access 2003完整教程:Like 运算符
Access 2003完整教程:Min、Max 函数Access 2003完整教程:ODBC Scalar 函数
Access 2003完整教程:ORDER BY 子句Access 2003完整教程:PARAMETERS 声明
Access 2003完整教程:PROCEDURE 子句Access 2003完整教程:REVOKE 语句
Access 2003完整教程:SELECT 语句Access 2003完整教程:SELECT...INTO 语句
Access 2003完整教程:StDev、StDevP 函数Access 2003完整教程:SQL 子查询
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号