次の方法で共有


方法 : クエリ結果内の行をグループ化する

更新 : 2007 年 11 月

小計を作成したり、テーブルのサブセットのほかの集計情報を表示したりする場合は、集計クエリを使用してグループを作成します。各グループは、テーブルで同じ値を持つすべての行のデータを集計します。

たとえば、titles テーブルの本の平均価格を出版社ごとに分類して表示するとします。そのためには、クエリを出版社 (たとえば、pub_id) でグループ化します。クエリの出力結果は次のようになります。

QueryGroupingRowsResultsPane スクリーンショット

データをグループ化すると、次のように集計データまたはグループ化データだけを表示できます。

  • グループ化された列 (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

出力結果は、次のようになります。

QueryGroupingRowsSampleOutput スクリーンショット

bh6sf9fs.alert_note(ja-jp,VS.90).gifメモ :

使用している設定またはエディションによっては、表示されるダイアログ ボックスやメニュー コマンドがヘルプに表示されている内容と異なる場合があります。設定を変更するには、[ツール] メニューの [設定のインポートとエクスポート] をクリックします。詳細については、「Visual Studio の設定」を参照してください。

列をグループ化するには

  1. 集計するテーブルをダイアグラム ペインに追加して、クエリの作成を開始します。

  2. ダイアグラム ペインの背景を右クリックし、ショートカット メニューの [グループ化を追加] をクリックします。抽出条件ペインのグリッドに [グループ化] 列が追加されます。

  3. グループ化する列を抽出条件ペインに追加します。クエリ出力に列を表示する場合は、[出力] 列のチェック ボックスがオンになっていることを確認します。

    SQL ペインのステートメントに GROUP BY 句が追加されます。たとえば、SQL ステートメントは次のようになります。

    SELECT pub_id
    FROM titles
    GROUP BY pub_id
    
  4. 集計する列を抽出条件ペインに追加します。この列の [出力] 列がマークされていることを確認します。

  5. 集計する列の [グループ化] グリッド セルで、該当する集計関数を選択します。

    集計する列に別名が自動的に割り当てられます。この自動的に割り当てられた別名をわかりやすい名前に変更できます。詳細については、「方法 : 列の別名を作成する」を参照してください。

    QueryGroupingRows スクリーンショット

    SQL ペインのステートメントは、次のようになります。

    SELECT   pub_id, SUM(price) AS Totalprice
    FROM     titles
    GROUP BY pub_id
    

参照

その他の技術情報

クエリ結果の並べ替えおよびグループ化