如何:为组指定条件

更新:2007 年 11 月

可通过指定适用于整个组的条件(HAVING 子句)来限制查询中出现的组。对数据进行分组和聚合后,将应用 HAVING 子句中的条件。只有满足条件的组才出现在查询中。

例如,您可能希望看到 titles 表中每个出版商出版的所有书的平均价格,但只显示平均价格超过 10.00 美元的部分。在这种情况下,可为 HAVING 子句指定条件:AVG(price) > 10。

说明:

在某些情况下,在对整个组应用条件之前,可能希望排除组中的单个行。有关详细信息,请参见如何:在同一查询中使用 HAVING 和 WHERE 子句

通过用 AND 和 OR 链接条件,可为 HAVING 子句创建复杂条件。有关在搜索条件中使用 AND 和 OR 的详细信息,请参见如何:为同一列指定多个搜索条件

说明:

显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您的当前设置或版本。若要更改设置,请在“工具”菜单上选择“导入和导出设置”。有关更多信息,请参见 Visual Studio 设置

为组指定条件

  1. 为查询指定组。有关详细信息,请参见如何:将查询结果中的行分组

  2. 如果条件要基于的列不在“条件”窗格中,请添加该列。(大多数情况下,该条件所涉及的列已经是组或汇总列。)不能使用不是聚合函数或 GROUP BY 子句的一部分的列。

  3. 在“筛选器”列中,指定要应用于组的条件。

    查询和视图设计器将自动在“SQL”窗格的语句中创建 HAVING 子句,如下面的示例所示:

    SELECT pub_id, AVG(price)
    FROM titles
    GROUP BY pub_id
    HAVING (AVG(price) > 10)
    
  4. 对于要指定的每个其他条件,请重复第 2 和第 3 步。

请参见

任务

如何:在同一查询中使用 HAVING 和 WHERE 子句

其他资源

对查询结果进行排序和分组