Share via


如何:指定群組的條件

您可以指定套用至整體群組的條件 (即 HAVING 子句),以限制出現在查詢結果中的群組。 在資料經過分組及彙總 (Aggregate) 之後,便會套用 HAVING 子句中的條件。 只有符合條件的群組才會出現在查詢結果中。

例如,您可能想查看 titles 資料表中每個發行者的所有書籍的平均價格,但是只限於平均價格超過 $10.00。 在此情況下,您可以指定包含 AVG(price) > 10 之類條件的 HAVING 子句。

注意事項注意事項

在某些情況下,您可能想在將條件套用到整體群組之前,從群組排除個別的資料列。如需詳細資訊,請參閱 如何:在相同查詢中使用 HAVING 和 WHERE 子句

您可以使用 AND 和 OR 連結條件,以建立 HAVING 子句的複雜條件。 如需在搜尋條件中使用 AND 和 OR 的詳細資訊,請參閱 如何:指定單一資料行的多重搜尋條件

注意事項注意事項

根據您目前使用的設定或版本,您所看到的對話方塊與功能表指令可能會與 [說明] 中描述的不同。若要變更設定,請從 [工具] 功能表中選擇 [匯入和匯出設定]。如需詳細資訊,請參閱 Visual Studio 設定

若要指定群組條件

  1. 為您的查詢指定群組。 如需詳細資訊,請參閱 如何:對查詢結果中的資料列進行群組

  2. 如果 [準則] 窗格中沒有您要做為條件基礎的資料行,請將它加入 (條件通常牽涉已經是群組或摘要資料行的資料行)。 您無法使用不屬於彙總函式 (Aggregate Function) 或 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 子句

其他資源

查詢結果的排序和群組