Access 2003完整教程:在查询结果中对行进行分组 (ADP)

注释本主题中的信息仅适用于 Microsoft Access 项目 (.adp)。

背景信息

如果要为表的子集创建小计或显示其他汇总信息,可以使用聚合查询创建组。每个组汇总表中有相同值的所有行的数据。

例如,要按出版商查看“titles”表中书的平均价格。可以按出版商对查询进行分组(如“pub_id”)。查询结果输出可能如下:

查询输出

对数据分组时,可以仅显示汇总或分组数据,如:

不能显示单独的行的值。例如,如果仅根据出版商分组,就不能在查询中显示单独的书目。因此,如果向查询输出中添加列,“查询设计器”自动将其添加到“SQL”窗格中的语句的 GROUP BY 子句中。如果希望汇总某一列,可以为其指定一个聚合函数。

如果对多个列进行分组,查询中的每个组显示所有分组列的汇总值。

例如,以下基于titles表的查询根据出版商 (pub_id) 和书籍类型 (type) 分组。查询结果按出版商进行组织,并且显示该出版商出版每种不同类型的书的汇总信息:

SELECT pub_id, type, SUM(price) Total_price
FROM titles
GROUP BY pub_id, type

输出结果如下:

查询输出

分组行

  1. 在“数据库”窗口中,单击“对象”下的“查询”按钮图像,再单击要打开的查询,然后单击“数据库”窗口工具栏上的“设计”
  2. 通过向“图表”窗格添加要汇总的表、视图或函数,启动查询。

    操作方法

    当创建查询时,是从表、视图或函数中检索数据。如果要在查询中使用这些对象,可将其添加到“图表”窗格中。

    向查询中添加表、视图或用户定义函数

    1. 在“数据库”窗口中,单击“对象”下的“查询”按钮图像,再单击要打开的查询,然后单击“数据库”窗口工具栏上的“设计”
    2. 在“图表”窗格中,用右键单击背景,再从快捷菜单中选择“添加表”。
    3. 在“添加表”对话框中,选择“表”、“视图”或“函数”选项卡。
    4. 在列表中,双击要添加的项目。
    5. 在完成了对项目的添加后,请单击“关闭”按钮。

    “查询设计器”据此更新“图表”窗格、“网格”窗格、“SQL”窗格。

    可以拖动对象到“图表”窗格。可以从数据库窗口拖动表、视图或内嵌函数。

    可以从“数据库设计器”拖动列或表,或者从剪贴板粘贴。

    在“SQL”窗格的语句中引用表和视图时,它们会被自动添加到查询中。

    如果用户没有足够的权限,“查询”设计器不会显示表、视图或内嵌函数的数据列。这时,只会显示表、视图或内嵌函数的标题栏和“*(所有列)”复选框。

    向新查询中添加现有查询

    1. 如有必要,单击SQL按钮图像以显示SQL窗格。
    2. 在“SQL”窗格中,在 FROM 后键入左右括号 ()。
    3. 为现有查询打开“查询设计器”。(现在有两个打开的“查询设计器”。)
    4. 显示内部查询(要包含在新的外部查询中的现有查询)的“SQL”窗格。
    5. 选取“SQL”窗格中的所有文本,并复制到剪贴板。
    6. 在新查询的“SQL”窗格中单击,使光标置于添加的括号中,并粘贴剪贴板的的内容。
    7. 在“SQL”窗格中,在右括号后,添加别名。有关 SQL 别名和子查询的详细信息,请参阅 Microsoft SQL Server 文档。
  3. 用鼠标右键单击“图表”窗格的背景,再从快捷菜单中选择“分组”。“查询设计器”会将一个“分组”列添加到“网格”窗格的网格中。
  4. 将要分组的列添加到“网格”窗格。如果要在查询输出中显示列,确定选中了“输出”列。

    “查询设计器”将 GROUP BY 子句添加到“SQL”窗格的语句中。例如,SQL 语句可能如下:

    SELECT pub_id
    FROM titles
    GROUP BY pub_id
    
  5. 将要汇总的列添加到“网格”窗格。要确保已将该列标记为输出。
  6. 在要汇总的列的“分组”网格单元格中,选择适当的聚合函数。

    “查询设计器”自动向汇总的列分派一个列别名。可以用更有意义的名称代替自动生成的别名。

    查询输出

    SQL 窗格中相应的语句可能如下所示:

    SELECT pub_id, SUM(price) AS Totalprice
    FROM titles
    GROUP BY pub_id
    

上页:Access 2003完整教程:在“查询设计器”中执行查询 (ADP) 下页:Access 2003完整教程:将列插入到表中 (ADP)

Access 2003完整教程:在查询结果中对行进行分组 (ADP)

Access 2003完整教程:将列插入到表中 (ADP)Access 2003完整教程:在查询中手动创建表、视图或函数之间的联接 (ADP)
Access 2003完整教程:将多对多关系映射到数据库图表中 (ADP)Access 2003完整教程:将子图表合并到主数据库图表中 (ADP)
Access 2003完整教程:重命名检查约束 (ADP)Access 2003完整教程:修改外键约束 (ADP)
Access 2003完整教程:修改查询中的联接运算符 (ADP)Access 2003完整教程:修改主键约束 (ADP)
Access 2003完整教程:将列从一个表移到另一个表中 (ADP)Access 2003完整教程:打开触发器 (ADP)
Access 2003完整教程:打印和预览数据库图表 (ADP)Access 2003完整教程:使数据库图表与修改的数据库相一致 (ADP)
Access 2003完整教程:从查询中删除列 (ADP)Access 2003完整教程:从查询中删除表、视图或函数 (ADP)
Access 2003完整教程:删除查询中的联接 (ADP)Access 2003完整教程:在数据库图表中隐藏表 (ADP)
Access 2003完整教程:重命名列 (ADP)Access 2003完整教程:重命名索引 (ADP)
Access 2003完整教程:重命名关系 (ADP)Access 2003完整教程:重命名表 (ADP)
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号