如何:为组指定条件

可通过指定适用于整个组的条件(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 子句

其他资源

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