Microsoft Access按查询分组

在Access中查找并组织数据

在里面数据库,GROUP BY是一个子句,可用于在一条记录的特定字段中组合具有相同值的记录。如果包括SQLSELECT语句中的聚合函数,如AVG、COUNT或SUM,Access为每条记录创建一个摘要值。

本文中的说明适用于Microsoft 365、Access 2019、2016、2013和2010。

使用笔记本电脑的程序员
米哈伊尔米洛瓦诺维奇/盖蒂图片社

使用分组方式

您可以使用SQL视图中的SQL查询查找并使用GROUP BY函数。这是访问和控制数据的最简单、最直接的方法之一。

  1. 启动Access并打开数据库。

    此示例使用北风样本数据库.

  2. 选择创建标签。

    在Access中创建选项卡
  3. 在“查询”组中,选择查询设计.

    Access中的查询设计
  4. 添加表列表中,选择要使用的表。

    添加表列表
  5. 选择看法在结果组中,选择SQL视图.

    SQL列表中的SQL视图
  6. 主体将切换到查询终端窗口。在这里,您可以输入您喜欢的任何查询。

  7. 要从SQL中获取基本分组,请输入如下内容:

    从tablename中选择*列/类别,如“条目”;

    替换要查找的表的实际名称、类别或列标题以及实际条目值。

分解查询

例如,考虑一个由以下属性组成的订单数据表:

  • OrderID:唯一标识每个订单的数值。这个字段是主键对于数据库。
  • 销售人员:提供销售产品的销售人员名称的文本值。这个领域是外键转到另一个包含人员信息的表。
  • 客户编号:对应客户账号的数值。此字段也是外键,引用包含客户帐户信息的表。
  • 收入:与销售金额相对应的数值。

当需要对销售人员进行性能检查时,Orders表包含可能用于检查的有价值的信息。例如,在评估Jim时,您可以编写一个简单的查询来检索Jim的所有销售记录:

从销售人员喜欢“Jim”的订单中选择*;

这将从数据库中检索与Jim销售对应的所有记录:

OrderID销售人员客户ID收入
12482吉姆182 40000
12488吉姆219 25000
12519吉姆137 85000
12602吉姆182 10000
12741吉姆155 90000

您可以查看这些信息并执行一些手动计算以开发性能统计数据,但这将是一项乏味的任务,您必须为公司的每个销售人员重复这项任务。相反,您可以将此工作替换为计算公司中每个销售人员统计信息的单个GROUP BY查询。编写查询并指定数据库应根据Salesperson字段对结果进行分组。然后可以使用任何SQL聚合函数对结果执行计算。

这是一个例子。如果执行以下SQL语句:

SELECT销售人员,SUM(Revenue) AS ' Total ', MIN(Revenue) AS ' minimum ', MAX(Revenue) AS ' Largest ', AVG(Revenue) AS ' Average ', COUNT(Revenue) AS ' Number ' FROM Orders GROUP BY sales;

您将得到以下结果:

销售人员总数最小最大平均数
吉姆250000 10000 90000 50000 5
玛丽342000 24000 102000 57000
Bob 118000 4000 36000 39333 3

如您所见,这个强大的功能允许您从SQL查询中生成简短的报告,为执行性能评估的经理提供有价值的业务智能。在数据库中,经常使用GROUP BY子句来实现这一目的,它是DBA工具包中的一个有价值的工具。

这个页面有用吗?