GROUP BY 句

Access で GROUP BY 句は、1 つのレコードに、指定したフィールド] ボックスの一覧で同じ値を持つレコードを組み合わせます。SELECT ステートメントで合計またはカウント] など、SQL 集計関数を含める場合は、各レコードの集計値が作成されます。

構文

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 集計関数の引数のどちらかに指定する必要があります。

注記: 

  • 機械翻訳についての免責事項: この記事の翻訳はコンピューター システムによって行われており、人間の手は加えられていません。マイクロソフトでは、英語を話さないユーザーがマイクロソフトの製品、サービス、テクノロジに関するコンテンツを理解するのに役立てるため、こうした機械翻訳を提供しています。記事は機械翻訳されているため、用語、構文、文法などに誤りがある場合があります。

  • この記事の英語版を参照するには、ここ をクリックしてください。Microsoft コミュニティの他のメンバーと一緒に、Community Translation Framework (CTF) を使ったこの記事の改善にご協力ください。記事内の文章にマウス ポインターを合わせて、CTF ウィジェットの [翻訳を改善します] をクリックしてください。CTF の詳細については、ここ をクリックしてください。CTF を使用すると弊社の サービス利用規約 に同意したことになります。

スキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×