グループ化と集計関数を使った集計の例を、いくつか紹介しておきましょう。
- 商品ごとの販売数 -
テーブル「累積売上_fx」から商品ごとの販売数を取得します。「商品名」でグループ化し、「数量」フィールドの値をSUM関数で合計します。
SELECT 商品名, SUM(数量) AS 販売数
FROM 累積売上_fx
GROUP BY 商品名
- 男女別の最高額 -
テーブル「累積売上_fx」から、男女別の最高販売額を取得します。「性別」でグループ化し、MAX関数で「金額」フィールドの最大値を元めます。
SELECT 性別, MAX(金額) AS 最高額
FROM 累積売上_fx
GROUP BY 性別
- 仕入先ごとの在庫数の合計 -
商品名に仕入先名と在庫数を合わせて表示するよう関連付けしたビュー「vw在庫一覧」(コラム参照)から、仕入先ごとの在庫数合計を取得します。
「仕入先名」フィールドでグループ化し、SUM関数で「在庫」フィールドの値を合計します。
SELECT 仕入先名, SUM(在庫) 在庫合計
FROM vw在庫一覧
GROUP BY 仕入先名
ビュー「vw在庫一覧」のデザイン
第18回で紹介したビュー「vw在庫一覧」の中身は、『商品マスターから商品名と仕入単価、仕入先マスターから仕入先名、在庫マスターから在庫数──をそれぞれ抽出し、在庫の少ない順に一覧表示する』SQLです。
SELECT 商品_mr.商品ID, 商品_mr.品名, 商品_mr.仕入単価,
商品_mr.仕入先ID, 仕入先_mr.仕入先名, 在庫_mr.在庫
FROM 商品_mr, 仕入先_mr, 在庫_mr
WHERE 商品_mr.仕入先ID = 仕入先_mr.仕入先ID
AND
商品_mr.商品ID = 在庫_mr.商品ID
ORDER BY 在庫
ビューを作成するには、EnterpriseManagerでデータベースを選択し、「ビュー」を選んでメニューから「操作」→「新規ビュー」を選択します。デザイン画面は画面C1のようになります。
|
|
|
|