Applies ToAccess for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Access の GROUP BY 句は、指定したフィールド リストの中で同じ値を持つレコードを 1 つのレコードに結合します。 SUM 関数や COUNT 関数などの SQL 集計関数を SELECT ステートメントに含めている場合は、レコードごとに集計値が作成されます。

構文

SELECT <fieldlist>FROM <table>WHERE <criteria>[GROUP BY <groupfieldlist>]

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

引数

説明

fieldlist

取得する 1 つ以上のフィールドの名前。フィールド名の別名、SQL 集計関数、選択述語 (ALL、DISTINCT、DISTINCTROW、および TOP)、または SELECT ステートメント オプションも指定できます。

table

レコードを取得するテーブルの名前。

criteria

抽出条件。 ステートメントに WHERE 句が含まれている場合、Microsoft Access データベース エンジンは、WHERE 句の条件に従ってレコードを抽出した後に値をグループ化します。

groupfieldlist

レコードをグループ化するために使用される最大 10 個のフィールドの名前。 groupfieldlist のフィールド名の順序によって、最上位から最下位まで、グループ化のレベルが決まります。

解説

GROUP BY 句は省略可能です。

SELECT ステートメントで SQL 集計関数を指定していない場合、集計値は算出されません。

GROUP BY フィールドの Null 値は省略されずにグループ化されます。 ただし、Null 値は SQL 集計関数では評価されません。

グループ化しない行を除く場合は、WHERE 句を使用します。また、グループ化されているレコードにフィルターを適用する場合は、HAVING 句を使用します。

SELECT ステートメントに 1 つでも SQL 集計関数を指定した場合は、FROM 句に挙げたテーブルのフィールドのうちメモ型 (Memo) や OLE オブジェクト型 (OLE Object) 以外のフィールドは、SELECT ステートメントに入っていないものでも、すべて GROUP BY 句のフィールド リストに入れることができます。 Microsoft Access データベース エンジンは、メモ型 (Memo) や OLE オブジェクト型 (OLE Object) のフィールドをグループ化できません。

SELECT ステートメントのフィールド リストに指定したすべてのフィールドは、GROUP BY 句、または SQL 集計関数の引数のどちらかに指定する必要があります。

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。