本文介绍如何对查询在 Access 中返回的数据进行计数。 例如,在窗体或报表上,可以对一个或多个表字段或控件中的项进行计数。 还可以计算平均值,并查找最小、最大、最早和最新值。 Access 还提供了一项称为“总计行”的功能,它使你可以在不更改查询设计的情况下对数据表中的数据进行计数。
您要做什么?
了解数据计数方法
可以使用 函数对字段或值列中的项数进行 Count 计数。 函数 Count 属于一组称为 聚合函数的函数。 使用聚合函数计算数据列并返回单个值。 除了 , CountAccess 还提供了多个聚合函数,例如:
-
Sum,以添加数字列。 -
Average,用于计算数字列的平均值。 -
Maximum,用于查找字段中的最大值。 -
Minimum,用于查找字段中的最小值。 -
Standard Deviation,以度量值与平均值的分布范围。 -
Variance,用于测量列中所有值的统计方差。
Access 提供了两种向查询添加 Count 和其他聚合函数的方法:
- 在“数据表”视图中打开查询,并添加“总计”行。 使用 Total 行,可以在查询结果集的一个或多个列中使用聚合函数,而无需更改查询设计。
- 创建总计查询。 总计查询可跨记录组计算小计。 例如,如果要按城市或季度对所有销售额进行分类,请使用总计查询按所需类别对记录进行分组,然后对销售数字求和。 相反,“总计”行计算一列或多列的总计, (字段) 数据。
注意
本文中的操作方法部分重点介绍 函数 Count ,但也可以在 Total 行和查询中使用其他聚合函数。 有关详细信息,请参阅本文后面的 聚合函数参考 。
有关使用其他聚合函数的方法的详细信息,请参阅 在数据表中显示列总计一文。
以下部分中的步骤说明如何添加 Total 行并使用总计查询对数据进行计数。 请记住,函数 Count 使用的数据类型比其他聚合函数多。 例如,可以针对除包含复杂重复标量数据的字段类型(如多值列表字段)之外的任何字段类型运行 Count 。
相比之下,许多聚合函数仅适用于使用特定数据类型的字段。 例如,函数 Sum 仅适用于设置为 Number、Decimal 或 Currency 数据类型的字段。 有关每个函数所需的数据类型的详细信息,请参阅本文后面的 聚合函数参考 。
有关数据类型的一般信息,请参阅 修改或更改字段的数据类型集一文。
使用 Total 行对数据进行计数
通过在数据表视图中打开查询,添加行,然后选择 Count 函数或其他聚合函数(如 Sum、 Minimum、 Maximum或 Average),可以向查询添加 Total 行。 本部分中的步骤说明如何创建基本选择查询并添加“总计”行。
创建基本选择查询
- 在“创建”选项卡上的“查询”组中,单击“查询设计”。
- 双击要在查询中使用的一个或多个表,然后单击“ 关闭”。
所选表在查询设计器的上半部分显示为窗口。 下图显示了查询设计器中的一个典型表:
- 双击要在查询中使用的表字段。 可以包含包含描述性数据的字段(如名称和说明),但必须包含要计数的值的字段。 每个字段都显示在查询设计网格中的列中。
- 在“ 查询设计 ”选项卡上的“ 结果 ”组中,单击“ 运行”。 查询的结果显示在数据表视图中。
- (可选)返回到“设计”视图并调整查询。 为此,请右键单击查询的文档选项卡,然后选择“ 设计视图”。 然后,可以根据需要添加或删除表字段。 若要删除字段,请选择设计网格中的列,然后按 Delete。
- (可选)保存查询。
添加总计行
- 在数据表视图中打开查询。 右键单击查询的文档选项卡,然后单击“ 数据表视图”。 - 或 - 在导航窗格中,双击查询。 执行此操作将运行查询并将结果加载到数据表中。
- 在“开始”选项卡上的“记录”组中,单击“合计”。 数据表中最后一行数据下方会显示一个新的 “总计 ”行。
- 在 “总计 ”行中,单击要求和的字段,然后从列表中选择“ 计数 ”。
隐藏总计行
- 在“开始”选项卡上的“记录”组中,单击“合计”。
有关使用 Total 行的详细信息,请参阅在 数据表中显示列总计一文。
使用总计查询对数据进行计数
需要对查询返回的部分或全部记录进行计数时,可以使用总计查询而不是 Total 行来计算数据。 例如,可以计算销售交易数或单个城市中的交易数。
通常需要在数据库的另一部分(如报表)中使用结果值时,请使用总计查询而不是 Total 行。
对查询中的所有记录进行计数
- 在“创建”选项卡上的“查询”组中,单击“查询设计”。
- 双击要在查询中使用的表,然后单击“ 关闭”。 该表显示在查询设计器上部的窗口中。
- 双击要在查询中使用的字段,并确保包含要计数的字段。 可以对大多数数据类型的字段进行计数,例外是包含复杂重复标量数据的字段,例如多值列表字段。
- 在“ 查询设计 ”选项卡上的“ 显示/隐藏 ”组中,单击“ 总计”。 “总计”行显示在设计网格中,“分组依据”显示在查询中每个字段的行中。
- 在 “总计 ”行中,单击要计数的字段,然后从生成的列表中选择“ 计数 ”。
- 在“ 查询设计 ”选项卡上的“ 结果 ”组中,单击“ 运行”。 查询的结果显示在数据表视图中。
- (可选)保存查询。
对组或类别中的记录进行计数
- 在“创建”选项卡上的“查询”组中,单击“查询设计”。
- 双击要在查询中使用的一个或多个表,然后单击“ 关闭”。 表显示在查询设计器上部的窗口中。
- 双击包含类别数据的字段,以及包含要计数的值的字段。 查询不能包含其他描述性字段。
- 在“ 查询设计 ”选项卡上的“ 显示/隐藏 ”组中,单击“ 总计”。 “总计”行显示在设计网格中,“分组依据”显示在查询中每个字段的行中。
- 在 “总计 ”行中,单击要计数的字段,然后从生成的列表中选择“ 计数 ”。
- 在“ 查询设计 ”选项卡上的“ 结果 ”组中,单击“ 运行”。 查询的结果显示在数据表视图中。
- (可选)保存查询。
聚合函数引用
下表列出了 Access 提供的用于 Total 行和查询的聚合函数。 Access 为查询提供的聚合函数比对 Total 行提供的聚合函数更多。
| 函数 | 说明 | 适用的数据类型 |
|---|---|---|
Sum |
累加列中各项的值。 仅适用于数值和货币数据。 | 数字、小数、货币 |
Average |
计算某列的平均值。 列中必须包含数值、货币或日期/时间数据。 该函数会忽略空值。 | 数字、小数、货币、日期/时间 |
Count |
对列中的项数进行计数。 | 除包含复杂重复标量数据的数据类型之外的所有数据类型,例如多值列表列。 有关多值列表的详细信息,请参阅 创建或删除多值字段。 |
Maximum |
返回具有最大值的项。 对于文本数据,最大值是最后一个字母顺序值,Access 忽略大小写。 该函数会忽略空值。 | 数字、小数、货币、日期/时间 |
Minimum |
返回具有最小值的项。 对于文本数据,最小值是第一个字母顺序值,Access 忽略大小写。 该函数会忽略空值。 | 数字、小数、货币、日期/时间 |
Standard Deviation |
测量值与平均值的分布范围。 有关使用此函数的详细信息,请参阅 在数据表中显示列总计。 | 数字、小数、货币 |
Variance |
计算列中所有值的统计方差。 该函数仅可用于数值和货币数据。 如果表包含的行数少于两行,Access 将返回 null 值。 有关方差函数的详细信息,请参阅 在数据表中显示列总计。 | 数字、小数、货币 |