使用查询对数据求和

使用查询对数据求和

注意: 我们希望能够尽快以你的语言为你提供最新的帮助内容。 本页面是自动翻译的,可能包含语法错误或不准确之处。 我们的目的是使此内容能对你有所帮助。 可以在本页面底部告诉我们此信息是否对你有帮助吗? 请在此处查看本文的英文版本以便参考。

本文介绍如何使用名为聚合函数的函数的类型对查询结果集中的数据求和。 本文还简要介绍了如何使用其他聚合函数 (如countAVG ) 对结果集中的值进行计数或求平均值。 此外, 本文介绍如何使用 "汇总" 行, 即Access 中用于对数据进行求和的功能, 而无需更改查询的设计。

您要做什么?

了解对数据求和的方法

准备一些示例数据

使用 "汇总" 行对数据求和

使用查询计算总计

使用总计查询计算组总计

使用交叉表查询对多个组中的数据求和

聚合函数引用

了解对数据求和的方法

通过使用名为 aggregate 函数的函数类型, 可以对查询中的一列数字求和。 聚合函数对数据列执行计算, 并返回单个值。 Access 提供各种聚合函数, 包括 "总计"、"计数"、"平均" (计算平均值)、"最小值" 和 "最大值"。 通过将sum函数添加到查询对数据进行求和, 使用count函数对数据进行计数, 依此类推。

此外, Access 提供了多种方法来向查询添加Sum和其他聚合函数。 可以:

  • 在数据表视图中打开查询, 然后添加 "汇总" 行。 "汇总" 行是Access 中的一项功能, 允许在查询结果集的一个或多个列中使用聚合函数, 而无需更改查询的设计。

  • 创建总计查询。 总计查询计算跨记录组的小计;"汇总" 行计算数据的一个或多个列 (字段) 的总计。 例如, 如果要按城市或季度对所有销售额进行分类汇总, 可以使用总计查询按所需类别对记录进行分组, 然后对销售额求和。

  • 创建交叉表查询。 交叉表查询是一种特殊类型的查询, 可在类似于 Excel 工作表的网格中显示其结果。 交叉表查询对值进行汇总, 然后将它们按两组事实进行分组, 一组在一侧 (行标题), 另一个在顶部 (列标题)。 例如, 您可以使用交叉表查询显示过去三年的每个城市的销售总额, 如下表所示:

城市

2003

2004

2005

巴黎

254556

372455

467892

悉尼

478021

372987

276399

Jakarta(雅加达)

572997

684374

792571

...

...

...

...

注意: 本文档中的操作方法部分强调如何使用Sum函数, 但请记住, 您可以在您的汇总行和查询中使用其他聚合函数。 有关使用其他聚合函数的详细信息, 请参阅本文后面部分的聚合函数参考

有关使用其他聚合函数的方法的详细信息, 请参阅在数据表中显示列汇总一文。

以下各节中的步骤介绍了如何添加汇总行、使用总计查询对多个组中的数据求和, 以及如何使用交叉表查询跨组和时间间隔对数据进行分类。 在执行操作时, 请记住, 许多聚合函数仅适用于设置为特定数据类型的字段中的数据。 例如, SUM函数仅适用于设置为 "数字"、"小数" 或 "货币" 数据类型的字段。 有关每个函数所需的数据类型的详细信息, 请参阅本文后面的聚合函数参考部分。

有关数据类型的常规信息, 请参阅修改或更改字段的数据类型设置一文。

返回页首

准备一些示例数据

本文中的操作方法部分提供了示例数据的表。 操作步骤使用示例表, 以帮助你了解聚合函数的工作原理。 如果愿意, 您可以选择将示例表添加到新的或现有的数据库中。

Access 提供了几种将这些示例表添加到数据库的方法。 你可以手动输入数据, 可以将每个表复制到一个电子表格程序 (如 Excel), 然后将工作表导入 Access, 也可以将数据粘贴到文本编辑器 (如记事本) 中, 然后从生成的文本文件中导入数据。

本部分中的步骤介绍如何在空白数据表中手动输入数据, 以及如何将示例表复制到电子表格程序, 然后将这些表导入 Access。 有关创建和导入文本数据的详细信息, 请参阅导入或链接文本文件中的数据一文。

本文中的操作步骤使用下表。 使用这些表创建示例数据:

"类别" 表:

类别

Dolls

游戏和测验题

艺术和组帧

视频游戏

dvd 和电影

模型和业余爱好

Products表:

产品名称

价格

类别

程序员操作图

$12.95

Dolls

使用 c # (适用于整个家人的棋盘游戏) 的乐趣

$15.85

游戏和测验题

关系数据库图表

$22.50

艺术和组帧

神奇计算机芯片 (500 件)

$32.65

游戏和测验题

访问! 游戏!

$22.95

游戏和测验题

计算机 Geeks 和 Mythical Creatures

$78.50

视频游戏

适用于计算机 Geeks 的练习 DVD!

$14.88

dvd 和电影

终极的飞行比萨饼

$36.75

外部5.25 英寸软盘驱动器 (1/4 扩展)

$65.00

模型和业余爱好

Bureaucrat 非操作图

$78.88

Dolls

Gloom

$53.33

视频游戏

构建自己的键盘

$77.95

模型和业余爱好

"订单" 表:

订单日期

送货日期

发货城市

货运费用

11/14/2005

11/15/2005

Jakarta(雅加达)

$55.00

11/14/2005

11/15/2005

悉尼

$76.00

11/16/2005

11/17/2005

悉尼

$87.00

11/17/2005

11/18/2005

Jakarta(雅加达)

$43.00

11/17/2005

11/18/2005

巴黎

$105.00

11/17/2005

11/18/2005

Stuttgart

$112.00

11/18/2005

11/19/2005

维也纳

$215.00

11/19/2005

11/20/2005

迈阿密

$525.00

11/20/2005

11/21/2005

维也纳

$198.00

11/20/2005

11/21/2005

巴黎

$187.00

11/21/2005

11/22/2005

悉尼

$81.00

11/23/2005

11/24/2005

Jakarta(雅加达)

$92.00

"订单明细" 表:

订单 ID

产品名称

产品 ID

单价

数量

Discount

1

构建自己的键盘

$77.95

9

5%

1

Bureaucrat 非操作图

2

$78.88

4

7.5%

2

适用于计算机 Geeks 的练习 DVD!

7

$14.88

6

2

神奇计算机芯片

4

$32.65

8

0

2

计算机 Geeks 和 Mythical Creatures

6

$78.50

4

0

3

访问! 游戏!

5

$22.95

5

15%

4

程序员操作图

1

$12.95

2

6%

4

终极的飞行比萨饼

8

$36.75

8

5

外部5.25 英寸软盘驱动器 (1/4 扩展)

9

$65.00

4

10%

6

关系数据库图表

3

$22.50

6.5%

7

Gloom

11

$53.33

6

8%

7

关系数据库图表

3

$22.50

4

9%

注意: 请记住, 在典型数据库中, "订单明细" 表仅包含产品 ID 字段, 而不包含 "产品名称" 字段。 示例表使用 "产品名称" 字段以使数据更易于阅读。

手动输入示例数据

  1. 在“创建”选项卡上的“”组中,单击“”。

    Access 将新的空白表添加到数据库。

    注意: 如果打开新的空白数据库,无需执行此步骤,但每次需将表添加到数据库时均需此步骤。

  2. 双击标题行中的第一个单元格, 然后在示例表中输入字段的名称。

    默认情况下, Access 使用文本 "添加新字段" 表示标题行中的空白字段, 如下所示:

    数据表中的新字段

  3. 使用箭头键移动到下一个空白标题单元格, 然后键入第二个字段名称 (也可以按 tab 或双击新的单元格)。 重复此步骤, 直到输入所有字段名称。

  4. 在示例表中输入数据。

    输入数据时,Access 会推断每个字段的数据类型。 如果您不熟悉关系数据库, 则应该为表中的每个字段设置特定的数据类型, 如数字、文本或日期/时间。 设置数据类型有助于确保输入准确的数据, 还有助于防止错误, 例如在计算中使用电话号码。 对于这些示例表, 应让 Access 推断数据类型。

  5. 输入完数据后, 单击 "保存"。

    键盘快捷方式按 CTRL + S。

    将显示“另存为”对话框。

  6. 在 "表名称" 框中, 输入示例表的名称, 然后单击"确定"

    使用每个示例表的名称, 因为 "操作方法" 部分中的查询使用这些名称。

  7. 重复这些步骤, 直到创建本部分开头列出的每个示例表。

如果不想手动输入数据, 请按照后续步骤将数据复制到电子表格文件, 然后将数据从电子表格文件导入到 Access 中。

创建示例工作表

  1. 启动电子表格程序并创建新的空白文件。 如果使用 Excel, 则默认情况下会创建一个新的空白工作簿。

  2. 复制上面提供的第一个示例表并将其粘贴到第一个工作表中, 从第一个单元格开始。

  3. 使用电子表格程序提供的方法重命名工作表。 为工作表指定与示例表相同的名称。 例如, 如果示例表的命名为 "类别", 请为工作表指定相同的名称。

  4. 重复步骤2和步骤 3, 将每个示例表复制到一个空白工作表, 然后重命名工作表。

    注意: 您可能需要将工作表添加到电子表格文件。 有关执行该任务的信息, 请参阅电子表格程序的帮助。

  5. 将工作簿保存到计算机或网络上的方便位置,然后执行后续步骤。

基于工作表创建数据库表

  1. 在“外部数据”选项卡的“导入”组中,单击“Excel”。

    -或-

    单击“更多”,然后从列表中选择电子表格程序。

    随即出现“获取外部数据-项目名称电子表格”对话框。

  2. 单击 "浏览", 打开您在前面的步骤中创建的电子表格文件, 然后单击"确定"

    将启动导入电子表格向导。

  3. 默认情况下, 向导将选择工作簿中的第一个工作表 ("客户" 工作表, 如果按照上一节中的步骤操作), 则工作表中的数据将显示在向导页的下半部分中。 单击“下一步”

  4. 在向导的下一页上, 单击 "第一行包含列标题", 然后单击 "下一步"。

  5. (可选) 在下一页上, 使用 "字段选项" 下的文本框和列表更改字段名称和数据类型, 或者从导入操作中省略字段。 否则,请单击“下一步”。

  6. 选中 "允许访问添加主键" 选项, 然后单击 "下一步"。

  7. 默认情况下,Access 向新表应用工作表的名称。 接受名称或输入其他名称, 然后单击 "完成"。

  8. 重复步骤1到步骤 7, 直到从工作簿中的每个工作表创建了一个表。

重命名主关键字字段

注意: 导入工作表后, access 会自动向每个表中添加一个主键列, 并且默认情况下, 名为 "ID" 的访问权限, 并将其设置为 "自动编号" 数据类型。 此项中的步骤介绍了如何重命名每个主键字段。 这样做有助于清楚地标识查询中的所有字段。

  1. 在导航窗格中, 右键单击您在前面的步骤中创建的每个表, 然后单击 "设计视图"。

  2. 对于每个表, 找到主关键字字段。 默认情况下, Access 将为每个字段ID命名。

  3. 在每个主关键字字段的 "字段名称" 列中, 添加表的名称。

    例如, 您可以将 "类别" 表的 "ID" 字段重命名为 "类别 id", 将 "订单" 表的字段重命名为 "订单 id"。 对于 "订单明细" 表, 请将该字段重命名为 "详细信息 ID"。 对于 Products 表, 将字段重命名为 "产品 ID"。

  4. 保存所做的更改。

只要本文中显示了示例表, 这些表将包含主键字段, 并按照前面的步骤对字段进行了重命名。

返回页首

使用 "汇总" 行对数据求和

通过在数据表视图中打开查询, 添加行, 然后选择要使用的聚合函数 (如SumMinMaxAvg), 可以向查询添加汇总行。 本部分中的步骤介绍了如何创建基本的选择查询和添加 "汇总" 行。 无需使用上一节中所述的示例表。

创建基本选择查询

  1. 在“创建”选项卡上的“其他”组中,单击“查询设计”。

  2. 在 "显示表" 对话框中, 双击要在查询中使用的一个或多个表, 然后单击 "关闭"。

    所选的一个或多个表在查询设计器的上半部分中显示为 "窗口"。

  3. 双击要在查询中使用的表字段。

    可以包含包含描述性数据 (如名称和说明) 的字段, 但必须包含包含数字或货币数据的字段。

    每个字段都将显示在设计网格中的一个单元格内。

  4. 单击 "运行 按钮图像 " 以运行查询。

    查询结果集将显示在数据表视图中。

  5. (可选) 切换到 "设计" 视图并调整查询。 若要执行此操作, 请右键单击查询的文档选项卡, 然后单击 "设计视图"。 然后, 你可以根据需要通过添加或删除表字段来调整查询。 若要删除字段, 请选择设计网格中的列, 然后按 DELETE。

  6. 保存查询。

添加 "汇总" 行

  1. 确保查询在数据表视图中处于打开状态。 若要执行此操作, 请右键单击查询的文档选项卡, 然后单击"数据表视图"。

    - 或 -

    在导航窗格中, 双击查询。 这将运行查询并将结果加载到数据表中。

  2. 在“开始”选项卡上的“记录”组中,单击“合计”。

    新的 "汇总" 行显示在数据表中。

  3. 在 "汇总" 行中, 单击要与之求和的字段中的单元格, 然后从列表中选择 "求和"。

隐藏 "汇总" 行

  • 在“开始”选项卡上的“记录”组中,单击“合计”。

有关使用 "汇总" 行的详细信息, 请参阅在数据表中显示列汇总一文。

返回页首

使用查询计算总计

总计是列中所有值的总和。 你可以计算几种类型的总计, 包括:

  • 一个简单的总计, 用于对单个列中的值求和。 例如, 您可以计算总运输成本。

  • 计算的总计, 用于对多列中的值求和。 例如, 您可以通过将多个项目的成本乘以所订购项目的数量来计算总销售额, 然后对结果值求和。

  • 排除某些记录的总计。 例如, 您可以计算上星期五的总销售额。

以下各节中的步骤介绍了如何创建每种类型的总计。 这些步骤使用 "订单" 和 "订单明细" 表。

Orders 表

订单 ID

订单日期

送货日期

发货城市

货运费用

1

11/14/2005

11/15/2005

Jakarta(雅加达)

$55.00

2

11/14/2005

11/15/2005

悉尼

$76.00

3

11/16/2005

11/17/2005

悉尼

$87.00

4

11/17/2005

11/18/2005

Jakarta(雅加达)

$43.00

5

11/17/2005

11/18/2005

巴黎

$105.00

6

11/17/2005

11/18/2005

Stuttgart

$112.00

7

11/18/2005

11/19/2005

维也纳

$215.00

8

11/19/2005

11/20/2005

迈阿密

$525.00

9

11/20/2005

11/21/2005

维也纳

$198.00

10

11/20/2005

11/21/2005

巴黎

$187.00

11

11/21/2005

11/22/2005

悉尼

$81.00

11/23/2005

11/24/2005

Jakarta(雅加达)

$92.00

"订单明细" 表

详细信息 ID

订单 ID

产品名称

产品 ID

单价

数量

Discount

1

1

构建自己的键盘

$77.95

9

0.05

2

1

Bureaucrat 非操作图

2

$78.88

4

0.075

3

2

适用于计算机 Geeks 的练习 DVD!

7

$14.88

6

0.04

4

2

神奇计算机芯片

4

$32.65

8

0.00

5

2

计算机 Geeks 和 Mythical Creatures

6

$78.50

4

0.00

6

3

访问! 游戏!

5

$22.95

5

0.15

7

4

程序员操作图

1

$12.95

2

0.06

8

4

终极的飞行比萨饼

8

$36.75

8

0.04

9

5

外部5.25 英寸软盘驱动器 (1/4 扩展)

9

$65.00

4

0.10

10

6

关系数据库图表

3

$22.50

0.065

11

7

Gloom

11

$53.33

6

0.08

7

关系数据库图表

3

$22.50

4

0.09

计算简单的总计

  1. 在“创建”选项卡上的“其他”组中,单击“查询设计”。

  2. 在 "显示表" 对话框中, 双击要在查询中使用的表, 然后单击 "关闭"。

    如果使用示例数据, 请双击 "订单" 表。

    该表显示在查询设计器上半部分的窗口中。

  3. 双击要进行求和的字段。 请确保字段设置为 "数字" 或 "货币" 数据类型。 如果你尝试对非数字字段 (如文本字段) 中的值求和, 则 Access 将在尝试运行查询时显示条件表达式中的数据类型不匹配错误消息。

    如果您使用示例数据, 请双击 "运货费" 列。

    如果要计算这些字段的总计, 可以向网格添加其他数值字段。 汇总查询可以计算多个列的总计。

  4. “设计”选项卡上的“显示/隐藏”组中,单击“总计”按钮图像

    "汇总" 行显示在设计网格中, "分组依据" 显示在 "运货费" 列的单元格中。

  5. 将 "汇总" 行中的单元格的值更改为Sum

  6. 单击 "运行 按钮图像 " 以运行查询并在数据表视图中显示结果。

    提示: 请注意, Access 会将 "SumOf" 追加到您的 sum 字段名称的开头。 若要将列标题更改为更有意义的内容 (如总运费), 请切换回设计视图, 然后在设计网格中的 "运货费" 列的 "字段" 行中单击。 将光标放在 "运费" 旁边, 键入 "总运费", 后跟冒号, 如下所示: 运费总额: 运费

  7. (可选) 保存查询并将其关闭。

计算排除一些记录的总计

  1. 在“创建”选项卡上的“其他”组中,单击“查询设计”。

  2. 在 "显示表" 对话框中, 双击 "订单" 表和 "订单明细" 表, 然后单击 "关闭" 关闭该对话框。

  3. 将 "订单" 表中的 "订单日期" 字段添加到查询设计网格中的第一列。

  4. 在第一列的 "条件" 行中, 键入Date ()-1。 该表达式将从计算总计中排除当前日期的记录。

  5. 接下来, 创建用于计算每个交易记录的销售额的列。 在网格中第二列的 "字段" 行中键入以下表达式:

    总销售额值: (1-[订单明细]. [折扣]/100) * ([订单明细]。 [订单明细]。 [单价] * [订单详细信息]。[数量])

    请确保你的表达式引用的字段设置为 "数字" 或 "货币" 数据类型。 如果你的表达式引用了设置为其他数据类型的字段, Access 将在你尝试运行查询时显示 "条件" 表达式中的消息数据类型不匹配

  6. “设计”选项卡上的“显示/隐藏”组中,单击“总计”

    "汇总" 行显示在设计网格中, "分组依据" 显示在第一列和第二列中。

  7. 在第二列中, 将 "汇总" 行的单元格中的值更改为 "求和"。 Sum函数将添加单个销售数字。

  8. 单击 "运行 按钮图像 " 以运行查询并在数据表视图中显示结果。

  9. 将查询另存为 "日常销售"。

    注意: 下次在 "设计" 视图中打开查询时, 你可能会注意到, 在 "总销售额" 值列的 "字段" 和 "汇总" 行中指定的值中稍有更改。 该表达式将显示在Sum函数内, 并且 "汇总" 行显示Expression , 而不是Sum

    例如, 如果你使用示例数据并创建查询 (如前面的步骤所示), 请参阅:

    总销售额值: Sum ((1-[订单明细]。折扣/100) * ([订单明细]。单价 * [订单详细信息]。数量)

返回页首

使用总计查询计算组总计

本部分中的步骤介绍如何创建在数据组之间计算小计的总计查询。 在执行操作时, 请记住, 默认情况下, 汇总查询只能包含包含组数据的一个或多个字段 (如 "类别" 字段) 和包含要进行求和的数据的字段, 如 "销售额" 字段。 总计查询不能包含描述类别中的项目的其他字段。 如果想要查看描述性数据, 可以创建第二个选择查询, 该查询将总计查询中的字段与其他数据字段合并。

本部分中的步骤介绍了如何创建汇总和选择查询以确定每种产品的总销售额。 这些步骤假设使用这些示例表:

Products 表

产品 ID

产品名称

价格

类别

1

程序员操作图

$12.95

Dolls

2

使用 c # (适用于整个家人的棋盘游戏) 的乐趣

$15.85

游戏和测验题

3

关系数据库图表

$22.50

艺术和组帧

4

神奇计算机芯片 (500 件)

$32.65

艺术和组帧

5

访问! 游戏!

$22.95

游戏和测验题

6

计算机 Geeks 和 Mythical Creatures

$78.50

视频游戏

7

适用于计算机 Geeks 的练习 DVD!

$14.88

dvd 和电影

8

终极的飞行比萨饼

$36.75

9

外部5.25 英寸软盘驱动器 (1/4 扩展)

$65.00

模型和爱好

10

Bureaucrat 非操作图

$78.88

Dolls

11

Gloom

$53.33

视频游戏

构建自己的键盘

$77.95

模型和爱好

"订单明细" 表

详细信息 ID

订单 ID

产品名称

产品 ID

单价

数量

Discount

1

1

构建自己的键盘

$77.95

9

5%

2

1

Bureaucrat 非操作图

2

$78.88

4

7.5%

3

2

适用于计算机 Geeks 的练习 DVD!

7

$14.88

6

4

2

神奇计算机芯片

4

$32.65

8

0

5

2

计算机 Geeks 和 Mythical Creatures

6

$78.50

4

0

6

3

访问! 游戏!

5

$22.95

5

15%

7

4

程序员操作图

1

$12.95

2

6%

8

4

终极的飞行比萨饼

8

$36.75

8

9

5

外部5.25 英寸软盘驱动器 (1/4 扩展)

9

$65.00

4

10%

10

6

关系数据库图表

3

$22.50

6.5%

11

7

Gloom

11

$53.33

6

8%

7

关系数据库图表

3

$22.50

4

9%

以下步骤假设 "订单" 表和 "订单明细" 表中的 "产品 ID" 字段之间有一对多关系, 其中 "订单" 表位于关系的 "一" 方。

创建总计查询

  1. 在“创建”选项卡上的“其他”组中,单击“查询设计”。

  2. 在 "显示表" 对话框中, 选择要处理的表, 单击 "添加", 然后在添加完表后单击 "关闭"。

    - 或 -

    双击要使用的表, 然后单击 "关闭"。 每个表都显示为查询设计器上半部分的一个窗口。

    如果使用前面列出的示例表, 请添加 "产品" 和 "订单详细信息" 表。

  3. 双击要在查询中使用的表字段。

    通常情况下, 只将 "组" 字段和 "值" 字段添加到查询中。 但是, 你可以使用计算来代替值字段, 接下来的步骤将介绍如何执行此操作。

    1. 将 "产品" 表中的 "类别" 字段添加到设计网格。

    2. 通过在网格的第二列中键入以下表达式来创建计算每个交易记录的销售额的列:

      总销售额值: (1-[订单明细]. [折扣]/100) * ([订单明细]。 [订单明细]。 [单价] * [订单详细信息]。[数量])

      确保在表达式中引用的字段为 "数字" 或 "货币" 数据类型。 如果引用其他数据类型的字段, Access 将在尝试切换到数据表视图时显示条件表达式中的错误消息数据类型不匹配

    3. “设计”选项卡上的“显示/隐藏”组中,单击“总计”

      "汇总" 行显示在设计网格中, 在该行中, "分组依据" 显示在第一列和第二列中。

    4. 在第二列中, 将 "汇总" 行中的值更改为SumSum函数将添加单个销售数字。

    5. 单击 "运行 按钮图像 " 以运行查询并在数据表视图中显示结果。

    6. 使查询保持打开状态, 以便在下一节中使用。

      对总计查询使用条件

      在上一节中创建的查询包括基础表中的所有记录。 在计算总计时不排除任何顺序, 并且显示所有类别的总计。

      如果需要排除某些记录, 可以向查询添加条件。 例如, 您可以忽略小于 $100 的交易或计算部分产品类别的总计。 本部分中的步骤介绍了如何使用三种类型的条件:

    7. 计算总计时忽略特定组的条件。    例如, 你将仅为视频游戏、"艺术" 和 "组帧" 以及 "体育" 类别计算总计。

    8. 计算计算后隐藏某些汇总的条件。    例如, 您可以仅显示大于 $150000 的总计。

    9. 用于排除包含在总计中的单个记录的条件。    例如, 当值 (单位价格 * 数量) 低于 $100 时, 您可以排除单个销售交易。

      以下步骤介绍了如何逐个添加条件并查看对查询结果的影响。

      向查询添加条件

    10. 在 "设计" 视图中打开上一节中的查询。 若要执行此操作, 请右键单击查询的文档选项卡, 然后单击 "设计视图"。

      - 或 -

      在导航窗格中, 右键单击查询, 然后单击 "设计视图"。

    11. 在 "类别 ID" 列的 "条件" 行中, 键入= Dolls 或体育或艺术字和组帧

    12. 单击 "运行 按钮图像 " 以运行查询并在数据表视图中显示结果。

    13. 切换回设计视图, 然后在 "总销售额值" 列的 "条件" 行中, 键入>100

    14. 运行查询以查看结果, 然后切换回设计视图。

    15. 现在添加条件以排除小于 $100 的单个销售交易记录。 若要执行此操作, 您需要添加另一列。

      注意: 不能在 "总销售额" 列中指定第三个条件。 您在此列中指定的任何条件均适用于总值, 而不是单个值。

    16. 将第二列中的表达式复制到第三列。

    17. 在新列的 "汇总" 行中, 选择 "位置", 在 "条件" 行中键入 " >20"。

    18. 运行查询以查看结果, 然后保存查询。

      注意: 下次在 "设计" 视图中打开查询时, 您可能会注意到设计网格中的微小变化。 在第二列中, "字段" 行中的表达式将显示为包含在Sum函数内, "汇总" 行中的值显示表达式而不是Sum

      总销售额值: Sum ((1-[订单明细]。折扣/100) * ([订单明细]。单价 * [Orde r 详细信息]。数量)

      您还将看到第四列。 此列是第二列的副本, 但在第二列中指定的条件实际上显示为新列的一部分。

返回页首

使用交叉表查询对多个组中的数据求和

交叉表查询是一种特殊类型的查询, 可在类似于 Excel 工作表的网格中显示其结果。 交叉表查询对值进行汇总, 然后将它们按两组事实进行分组, 一组在一侧 (一组行标题), 另一个位于顶部 (一组列标题)。 下图显示了示例交叉表查询的结果集的一部分:

示例交叉表查询

在执行操作时, 请记住交叉表查询不会始终填充结果集中的所有字段, 因为在查询中使用的表不会始终包含每个可能的数据点的值。

创建交叉表查询时, 通常包含来自多个表的数据, 并且始终包含三种类型的数据: 用作行标题的数据、用作列标题的数据以及要对其进行求和或其他计算的值。

本部分中的步骤假定下表:

Orders 表

订单日期

送货日期

发货城市

货运费用

11/14/2005

11/15/2005

Jakarta(雅加达)

$55.00

11/14/2005

11/15/2005

悉尼

$76.00

11/16/2005

11/17/2005

悉尼

$87.00

11/17/2005

11/18/2005

Jakarta(雅加达)

$43.00

11/17/2005

11/18/2005

巴黎

$105.00

11/17/2005

11/18/2005

Stuttgart

$112.00

11/18/2005

11/19/2005

维也纳

$215.00

11/19/2005

11/20/2005

迈阿密

$525.00

11/20/2005

11/21/2005

维也纳

$198.00

11/20/2005

11/21/2005

巴黎

$187.00

11/21/2005

11/22/2005

悉尼

$81.00

11/23/2005

11/24/2005

Jakarta(雅加达)

$92.00

"订单明细" 表

订单 ID

产品名称

产品 ID

单价

数量

Discount

1

构建自己的键盘

$77.95

9

5%

1

Bureaucrat 非操作图

2

$78.88

4

7.5%

2

适用于计算机 Geeks 的练习 DVD!

7

$14.88

6

2

神奇计算机芯片

4

$32.65

8

0

2

计算机 Geeks 和 Mythical Creatures

6

$78.50

4

0

3

访问! 游戏!

5

$22.95

5

15%

4

程序员操作图

1

$12.95

2

6%

4

终极的飞行比萨饼

8

$36.75

8

5

外部5.25 英寸软盘驱动器 (1/4 扩展)

9

$65.00

4

10%

6

关系数据库图表

3

$22.50

6.5%

7

Gloom

11

$53.33

6

8%

7

关系数据库图表

3

$22.50

4

9%

以下步骤介绍了如何创建按城市对总销售额进行分组的交叉表查询。 查询使用两个表达式返回已设置格式的日期和销售额总计。

创建交叉表查询

  1. 在“创建”选项卡上的“其他”组中,单击“查询设计”。

  2. 在 "显示表" 对话框中, 双击要在查询中使用的表, 然后单击 "关闭"。

    每个表都显示为查询设计器上半部分的一个窗口。

    如果使用示例表, 请双击 "订单" 表和 "订单明细" 表。

  3. 双击要在查询中使用的字段。

    每个字段名称均显示在设计网格的 "字段" 行中的一个空白单元格中。

    如果使用示例表, 请从 "订单" 表中添加 "发货城市" 和 "发货日期" 字段。

  4. 在 "字段" 行中的下一个空白单元格中, 复制并粘贴或键入以下表达式:总销售额: Sum (CCur ([订单明细]. [单价] * [数量] * (1-[折扣])/100) * 100 )

  5. 在“设计”选项卡的“查询类型​​”组中,单击“交叉表”。

    "汇总" 行和 "交叉表" 行显示在设计网格中。

  6. 单击 "城市" 字段的 "汇总" 行中的单元格, 然后选择 "分组依据"。 对 "发货日期" 字段执行相同操作。 将 "总销售额" 字段的 "总计" 单元格中的值更改为Expression

  7. 在 "交叉表" 行中, 将 "城市" 字段中的单元格设置为 "行标题", 将 "发货日期" 字段设置为 "列标题", 并将 "总销售额" 字段设置为

  8. 在“设计”选项卡上的“结果”组中,单击“运行”。

    查询结果将显示在数据表视图中。

返回页首

聚合函数引用

此表列出并描述 Access 在 "汇总" 行和查询中提供的聚合函数。 请记住, Access 为查询提供的聚合函数比对 "总计" 行执行的聚合函数更多。 此外, 如果您使用 access 项目 (access 前端连接到 Microsoft SQL Server 数据库), 则可以使用 SQL server 提供的更大的聚合函数集。 有关该函数集的详细信息, 请参阅 Microsoft SQL Server 联机丛书。

函数

说明

美国 e 与数据类型

平均值

计算某列的平均值。 列中必须包含数值、货币或日期/时间数据。 该函数会忽略空值。

数字、货币、日期/时间

计数

对列中的项数进行计数。

除复杂重复的标量数据外的所有数据类型,如多值列表的列。

有关多值列表的详细信息, 请参阅文章多值字段指南创建或删除多值字段

最大值

返回具有最大值的项。 对于文本数据, 最大值是字母表中的最后一个字母值, Access 忽略大小写。 该函数会忽略空值。

数字、货币、日期/时间

最小值

返回具有最小值的项。 对于文本数据, 最小值是第一个字母值, Access 忽略大小写。 该函数会忽略空值。

数字、货币、日期/时间

标准偏差

计算值与平均值(均值)相差的程度。

有关使用此函数的详细信息, 请参阅在数据表中显示列汇总一文。

数字、货币

合计

累加列中各项的值。 仅适用于数值和货币数据。

数字、货币

方差

计算列中所有值的统计方差。 该函数仅可用于数值和货币数据。 如果表包含的行少于两行, Access 将返回 null 值。

有关方差函数的详细信息, 请参阅在数据表中显示列汇总一文。

数字、货币

返回页首

扩展你的 Office 技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×