适用于:SQL Server
可以通过指定应用于整个组的条件——即HAVING子句,来限制查询中出现的组。 对数据进行分组和聚合后,将应用子句中的 HAVING 条件。 只有满足条件的组才会出现在查询中。
例如,你可能希望在 titles 表中查看每个出版商的所有书籍的平均价格,但前提是平均价格超过 10.00 美元。 在这种情况下,可以指定一个包含条件的 HAVING 子句,例如 AVG(price) > 10。
注意
在某些情况下,你可能希望在将条件应用于整个组之前,从组中排除单个行。 有关详细信息,请参阅在同一查询中使用 HAVING 和 WHERE 子句(Visual Database Tools)。
可以通过使用AND和OR来链接条件,从而为HAVING子句创建复杂条件。 使用AND和OR在搜索条件中的详细信息,请参阅为一列指定多个搜索条件(Visual Database Tools)。
为组指定条件
为查询指定组。 有关详细信息,请参阅 查询结果(Visual Database Tools)中的组行。
如果它尚未在 “条件”窗格(Visual Database Tools)中,请添加要基于条件的列。 (通常,条件涉及已经是组或摘要列的列。)不能使用未包含在聚合函数或
GROUP BY子句中的列。在 筛选器 列中,指定要应用于组的条件。
查询和视图设计器工具(Visual Database Tools)在 SQL 窗格(Visual Database Tools) 的语句中自动创建一个
HAVING子句,如以下示例所示:SELECT pub_id, AVG(price) FROM titles GROUP BY pub_id HAVING (AVG(price) > 10);对要指定的每个附加条件重复步骤 2 和步骤 3。