HAVING 句

適用先
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Access の HAVING 句は、GROUP BY 句でどのグループ化したレコードを SELECT ステートメントに表示するかを指定します。 GROUP BY 句でレコードを結合した後、HAVING 句は、HAVING 句の条件を満たす GROUP BY 句でグループ化されたレコードをすべて表示します。

構文

SELECT フィールドリスト
FROM テーブル
WHERE selectcriteria
GROUP BY groupfieldlist
[HAVING groupcriteria]

HAVING 句を使用する SELECT ステートメントには、次の指定項目があります。

引数 説明
fieldlist 取得する 1 つ以上のフィールドの名前。フィールド名の別名、SQL 集計関数、選択述語 (ALL、DISTINCT、DISTINCTROW、または TOP)、または他の SELECT ステートメント オプションも指定できます。
table レコードを取得するテーブルの名前。
selectcriteria 抽出条件。 ステートメントに WHERE 句が含まれている場合、Microsoft Access データベース エンジンは、WHERE 句の条件に従ってレコードを抽出した後に値をグループ化します。
groupfieldlist レコードをグループ化するために使用される最大 10 個のフィールドの名前。 groupfieldlist のフィールド名の順序によって、最上位から最下位まで、グループ化のレベルが決まります。
groupcriteria グループ化したレコードのうち表示するレコードを指定する式。

解説

HAVING 句は省略可能です。

HAVING 句は WHERE 句に似ており、選択するレコードを指定します。 GROUP BY 句によってレコードをグループ化した後、HAVING 句は表示するレコードを指定します。

SELECT CategoryID,
Sum(UnitsInStock)
FROM Products
GROUP BY CategoryID
HAVING Sum(UnitsInStock) > 100 And Like "BOS*";

HAVING 句には、ANDOR などの論理演算子を組み合わせて最大 40 個までの式を指定できます。