Access の HAVING 句は、GROUP BY 句でどのグループ化したレコードを SELECT ステートメントに表示するかを指定します。 GROUP BY 句でレコードを結合した後、HAVING 句は、HAVING 句の条件を満たす GROUP BY 句でグループ化されたレコードをすべて表示します。
構文
SELECT <fieldlist>
FROM <table> 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 句には、AND や OR などの論理演算子を組み合わせて最大 40 個までの式を指定できます。