汇总或聚合表中所有行的值(Visual Database Tools)

适用于:SQL Server

聚合函数

使用聚合函数,可以为表中的所有值创建摘要。 例如,可以创建查询,例如以下查询,以显示 titles 表中所有书籍的总价格:

SELECT SUM(price)  
FROM titles  

使用包含多个列的聚合函数在同一查询中创建多个聚合。 例如,可以创建一个查询,用于计算 price 列的总和和 discount 列的平均值。

也可在同一查询中用不同方式聚合同一列(如合计、计数以及求平均值)。 例如,以下查询对 price 表中的 titles 列进行了平均和汇总:

SELECT AVG(price), SUM(price)  
FROM titles  

如果添加搜索条件,则可以聚合满足该条件的行的子集。

注意

还可以对表中的所有行或满足特定条件的行进行计数。 有关详细信息,请参阅 在表中计数行(可视化数据库工具)

为表中的所有行创建单个聚合值时,仅显示聚合值本身。 例如,如果要汇总 price 表的 titles 列的值,则不会显示单个标题、发布者名称等。

! 如果进行小计(即创建组),则可显示每个组的列值。 有关详细信息,请参阅 查询结果(Visual Database Tools)中的组行。

将所有行的值进行聚合

  1. 请确保要聚合的表已存在于“关系图”窗格中。

  2. 右键单击“关系图”窗格的背景,再从快捷菜单中选择“分组依据”查询和视图设计器会在“条件”窗格的网格中添加一个“分组依据”列。

  3. 将要聚合的列添加到“条件”窗格。 确保将该列标记为输出。

    查询和视图设计器会自动为要汇总的列分配列别名。 可以将此别名替换为更有意义的别名。 有关详细信息,请参阅 创建列别名(Visual Database Tools)

  4. 在“分组依据”网格列中,选择适当的聚合函数,例如:Sum、Avg、Min、Max 和 Count。 如果只想聚合结果集中的唯一行,请选择具有 DISTINCT 选项的聚合函数,例如 Min Distinct。 不要选择 分组依据表达式Where,因为这些选项在聚合所有行时不适用。

    查询和视图设计器将 SQL 窗格中语句中的列名替换为指定的聚合函数。 例如,SQL 语句可能如下所示:

    SELECT SUM(price)  
    FROM titles  
    
  5. 如果要在查询中创建多个聚合,请重复步骤 3 和步骤 4。

    将另一列添加到查询输出列表或按列表排序时,查询和视图设计器会自动将术语 分组依据 填充到网格 分组依据 列中。 选择适当的聚合函数。

  6. 添加搜索条件(如果有)以指定要汇总的行的子集。

执行查询时,“结果”窗格将显示指定的聚合。

注意

查询和视图设计器将聚合函数一直作为 SQL 窗格中 SQL 语句的一部分进行维护,直到显式关闭“分组依据”模式为止。 因此,如果通过更改查询的类型或通过更改关系图窗格中存在的表或表值对象来修改查询,则生成的查询可能包括无效的聚合函数。

另请参阅

排序和分组查询结果(Visual Database Tools)
汇总查询结果(Visual Database Tools)