HAVING 句 (Microsoft Access SQL)

適用先: Access 2013 | Access 2016

GROUP BY 句を使用した SELECT ステートメントの中で、グループ化したレコードのうちどれを表示するのかを指定します。 GROUP BY 句でレコードをグループ化した後、HAVING 句を使用し、GROUP BY 句でグループ化したレコードのうち HAVING 句の条件を満たすレコードをすべて表示します。

構文

SELECT fieldlist FROM table WHERE selectcriteria GROUP BY groupfieldlist [HAVING groupcriteria ]

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

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

注釈

HAVING 句は省略可能です。

HAVING は WHERE に似ています。これにより、選択されるレコードが決まります。 GROUP BY でレコードをグループ化した後、HAVING は表示されるレコードを決定します。

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

A HAVING clause can contain up to 40 expressions linked by logical operators, such as And and Or.

例

次の使用例では、Washington 地域で勤務する複数の社員の役職を選択します。 EnumFields プロシージャを呼び出しますが、このプロシージャについては、SELECT ステートメントの使用例を参照してください。

Sub HavingX() 
 
    Dim dbs As Database, rst As Recordset 
 
    ' Modify this line to include the path to Northwind 
    ' on your computer. 
    Set dbs = OpenDatabase("Northwind.mdb") 
 
    ' Select the job titles assigned to more than one  
    ' employee in the Washington region.  
    Set rst = dbs.OpenRecordset("SELECT Title, " _ 
        & "Count(Title) as Total FROM Employees " _ 
        & "WHERE Region = 'WA' " _ 
        & "GROUP BY Title HAVING Count(Title) > 1;") 
     
    ' Populate the Recordset. 
    rst.MoveLast 
     
    ' Call EnumFields to print recordset contents. 
    EnumFields rst, 25 
 
    dbs.Close 
 
End Sub 

関連項目

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。