クエリ結果内の行のグループ化 (Visual Database Tools)
適用対象: SQL Server
小計を作成したり、テーブルのサブセットの他の集計情報を表示したりする場合は、集計クエリを使用してグループを作成します。 各グループは、テーブルで同じ値を持つすべての行のデータを集計します。
たとえば、 titles
テーブルの本の平均価格を出版社ごとに分類して表示するとします。 そのためには、クエリを出版社 (たとえば、 pub_id
) でグループ化します。 クエリの出力結果は次のようになります。
データをグループ化すると、次のように集計データまたはグループ化データだけを表示できます。
グループ化された列 (GROUP BY 句に表示される列) の値。 上記の例では、
pub_id
がグループ化された列です。SUM( ) や AVG( ) などの集計関数によって生成される値。 上記の例にある 2 番目の列は、
price
列に AVG( ) 関数を使用して生成された列です。
各列の値は表示できません。 たとえば、出版社だけでグループ化する場合は、クエリに書名は表示できません。 そのため、クエリ出力に列を追加すると、 クエリおよびビュー デザイナー により、 SQL ペインのステートメントの GROUP BY 句に列が自動的に追加されます。 1 つの列だけを集計する場合は、その列に集計関数を指定できます。
複数の列をグループ化する場合、クエリの各グループには、グループ化された列のすべての集計値が表示されます。
たとえば、 titles
テーブルに対する次のクエリは、出版社 (pub_id
) と本の種類 (type
) の両方でグループ化されています。 クエリ結果は出版社別に並べ替えられ、出版社が発行する本の種類別に集計情報が表示されます。
SELECT pub_id, type, SUM(price) Total_price
FROM titles
GROUP BY pub_id, type
出力結果は、次のようになります。
列をグループ化するには
集計するテーブルをダイアグラム ペインに追加して、クエリの作成を開始します。
ダイアグラム ペインの背景を右クリックし、ショートカット メニューの [グループ化を追加] を選択します。 クエリおよびビュー デザイナーにより、抽出条件ペインのグリッドに [グループ化] 列が追加されます。
グループ化する列を抽出条件ペインに追加します。 クエリ出力に列を表示する場合は、出力に対して [出力] 列のチェック ボックスがオンになっていることを確認します。
SQL ペインのステートメントに GROUP BY 句が追加されます。 たとえば、SQL ステートメントは次のようになります。
SELECT pub_id FROM titles GROUP BY pub_id
集計する列を抽出条件ペインに追加します。 この列の [出力] 列がマークされていることを確認します。
集計する列の [グループ化] グリッド セルで、該当する集計関数を選択します。
集計する列に別名が自動的に割り当てられます。 この自動的に割り当てられた別名は、わかりやすい名前に変更することができます。 詳細については、列の別名の作成に関するページをご覧ください。
SQL ペインのステートメントは、次のようになります。
SELECT pub_id, SUM(price) AS Totalprice FROM titles GROUP BY pub_id