クエリのレコード グループに対して
合計、平均、カウント、その他の集計を行う
ここでは、事例のデータ(Orderテーブル) から、商品別に、各顧客の一つの受注オーダでの、最大発注数を表示してみましょう。
- クエリーの新規作成で、Order を追加します。
- 上段のフィールドリストで、「商品」「数量」「得意先」の順に、項目をマウス左ダブルクリックして、下段のクエリーデザイングリッドのフィールドに登録します。(この順番が、後で並び替える時に重要です。ただし、クエリを実行した後のデータシートビュウでも、この順番を変更できます。)
- クエリのデザイン ビューで選択クエリを作成し、演算に使用するレコードが含まれるテーブルを追加し、演算を実行するフィールドを追加し、グループを定義し、抽出条件を指定します。
- ツールバーの (集計) をクリックします。
デザイン グリッドに [集計] 行が表示されます。
- グループ化するフィールドに対して、[集計] セルの [グループ化] はそのままにしておきます。
- 計算する各フィールドに対して、[集計] 行のセルをクリックし、[合計]、[平均]、[最小]、[最大]、[カウント]、[標準偏差]、および [分散] のいずれかをクリックします。
今の場合は、「最大」を選択します。
各集計関数の詳細も参照下さい。
First 関数と Last 関数を使用するときの注意事項の詳細については、 をクリックしてください。
- 必要に応じて、抽出条件を入力して表示する演算結果を制限します。
その方法は ?
- 必要に応じて、並べ替えを設定します。
その方法は ?
- ツールバーの (ビュー) をクリックして、結果を表示します。
- クエリーのリストで、並び替えたいフィールドを選択します。この場合は、「商品」と「数量」です。
- そして、「昇順で並び替え」のボタンを押します。
SQLビュウでは、以下のようになっています。
SELECT Order.商品, Max(Order.数量) AS 数量の最大, Order.得意先
FROM [Order]
GROUP BY Order.商品, Order.得意先;
期待したものと異なる結果が表示された場合は、 をクリックしてください。
var win = new Window(Application.getNewId(), {className: "spread", title: "初めてのAccess",
top:500, left:100, width:800, height:560,
resizable: true, url: "QueriesWhatTheyAreAndHowTheyWork_FS.htm",
showEffectOptions: {duration:1}})
win.show();
var win = new Window(Application.getNewId(), {className: "spread", title: "初めてのAccess",
top:500, left:100, width:800, height:560,
resizable: true, url: "WaysToWorkWithDataInAQuerySDatasheet_FS.htm",
showEffectOptions: {duration:1}})
win.show();
var win = new Window(Application.getNewId(), {className: "spread", title: "初めてのAccess",
top:500, left:100, width:800, height:560,
resizable: true, url: "WaysToCustomizeAQuery_FS.htm",
showEffectOptions: {duration:1}})
win.show();
var win = new Window(Application.getNewId(), {className: "spread", title: "初めてのAccess",
top:500, left:100, width:800, height:560,
resizable: true, url: "WaysToSpecifyMultipleCriteriaInAQuery_FS.htm",
showEffectOptions: {duration:1}})
win.show();
メモ
- フィールドに対して集計関数を使用すると、"数量の平均" のように、関数とフィールド名を結合して、データシートのフィールド名が付けられます。フィールドの内容をわかりやすくするためにフィールド名を変更する方法については、 をクリックしてください。
- 式に 1 つまたは複数の集計関数を含む演算フィールドを追加する場合は、演算フィールドの [集計] セルに [演算] を設定します。
- データシートの左下から一番上までの合計を集計するクロス集計クエリを作成するには、 をクリックしてください。
- ノースウィンド データベースの [1997年 商品区分別売上高] クエリは、レコード グループの合計を計算する例です。このクエリを表示するには、[Office] フォルダの [Samples] サブフォルダにあるノースウィンド データベース (Northwind.mdb) を開き、[1997年 商品区分別売上高] クエリをデザイン ビューで開きます。ノースウィンド データベースを開く方法については、 をクリックしてください。
Excel の並び替えと集計の使い方
Excelでは、並び替えと集計を使って、グループ集計します。
- メニューの「データ」→「並び替え」で、「商品」順、「得意先」順に並び替えます。
- メニューの「データ」→「集計」で、「得意先」別に「最大値」を求めます。
- できました。「最大値」のみを表示するためには、さらに以下の操作をします。
- 「商品」の項目をコピーして、空いている列の一行下のセルを指定して、貼り付けします。
- 集計項目だけの、アウトライン表示にするために、「2」を、マウス左クリックします。
- でき上がりです。
アウトラインを削除するには、メニューの「データ」→「グループとアウトラインの設定」で、「アウトラインのクリア」を選択します。