汇总或聚合表中所有行的值 (Visual Database Tools)
使用聚合函数,可为表中所有值创建汇总。 例如,可创建如下所示的查询,以显示 titles
表中所有书籍的总价:
SELECT SUM(price)
FROM titles
通过对多个列使用聚合函数,可在同一查询中创建多个聚合。 例如,可创建计算 price
列的合计以及 discount
列的平均值的查询。
您也可在同一查询中用不同方式聚合同一列(如合计、计数以及求平均值)。 例如,下面的查询将对 price
表的 titles
列求平均值并进行汇总:
SELECT AVG(price), SUM(price)
FROM titles
如果添加搜索条件,则可聚合满足该条件的行子集。
备注
您还可以对表中的所有行或满足特定条件的行进行计数。 有关详细信息,请参阅计算表中的行数 (Visual Database Tools)。
当为表中的所有行创建单个聚合值时,将仅显示聚合值本身。 例如,如果对 price
表的 titles
列的值进行合计,将无法同时显示单个书名、出版商名称等。
注意
如果进行小计(即创建组),则可显示每个组的列值。 有关详细信息,请参阅 对查询结果中的行进行分组 (Visual Database Tools)。
对所有行的值进行聚合
请确保您要聚合的表已经包含在“关系图”窗格中。
右键单击“关系图”窗格的背景,再从快捷菜单中选择“分组依据”。 查询和视图设计器会在“条件”窗格的网格中添加一个“分组依据”列。
将要聚合的列添加到“条件”窗格中。 确保将该列标记为输出。
查询及视图设计器将自动为要汇总的列分配列别名。 您可以用更有意义的名称替换此别名。 有关详细信息,请参阅创建列别名 (Visual Database Tools)。
在“分组依据”网格列中,选择适当的聚合函数,例如:Sum、Avg、Min、Max 和 Count。 如果只希望聚合结果集中的唯一行,请选择带 DISTINCT 选项的聚合函数,如 Min Distinct。 不要选择 Group By、 Expression或 Where,因为这些选项不适用于聚合所有行。
查询和视图设计器将用指定的聚合函数替换 “SQL”窗格 内语句中的列名。 例如,SQL 语句可能类似以下形式:
SELECT SUM(price) FROM titles
如果希望在查询中创建多个聚合,请重复第 3 和第 4 步。
当向查询输出列表或排序依据列表中添加另一列时,查询和视图设计器会自动在网格的“分组依据”列中填充 Group By 一词。 请选择适当的聚合函数。
添加搜索条件(如果有的话),以指定要汇总的行子集。
当您执行查询时,“结果”窗格将显示指定的聚合。
注意
查询和视图设计器将聚合函数一直作为 SQL 窗格中 SQL 语句的一部分进行维护,直到您显式关闭“分组依据”模式为止。 因此,如果您通过更改查询类型或更改“关系图”窗格中显示的表或表值对象来修改查询,那么所生成的查询可能包含无效的聚合函数。
另请参阅
对查询结果进行排序和分组 (Visual Database Tools)
汇总查询结果 (Visual Database Tools)