実データで分析する

INPUT · スライド

商品をカテゴリでまとめる

01 / 04

商品表には3つの数字がある

items には金額が2つ入っている。price が売る値段、cost が仕入れた値段だよ。stock は残っている在庫の数。

この3つで「高いのはどれか」「もうかるのはどれか」「余っているのはどれか」が言えるようになる。まずは全体から。

SELECT COUNT(*) AS 商品数,       AVG(price) AS 平均価格  FROM items;

実行結果

10 | 1045

02 / 04

カテゴリ単位にまとめる

商品を1つずつ見ると10行。カテゴリでまとめれば4行になって、傾向のほうが見えてくるよ。

「カテゴリごと」だから GROUP BY category だね。

SELECT category,       COUNT(*) AS 商品数  FROM items  GROUP BY category;

実行結果

そうじ | 2
ぶんぼうぐ | 3
インテリア | 1
キッチン | 4

03 / 04

合計と平均は別のことを言う

SUM は積み上げた量、AVG は1つあたりの大きさ。同じ列でも見える景色がちがうよ。

在庫は SUM で「どれだけ抱えているか」、価格は AVG で「どのくらいの値段帯か」を見るのがふつうだね。

SELECT category,       SUM(stock) AS 在庫合計,       AVG(price) AS 平均価格  FROM items  GROUP BY category;

実行結果

そうじ | 102 | 1100
ぶんぼうぐ | 234 | 750
インテリア | 6 | 2400
キッチン | 148 | 900

04 / 04

中身の少ないグループに気をつける

インテリアは商品が1つだけ。平均を出しても、その1つの値段がそのまま出るだけだよ。

平均を読むときは何個ぶんの平均かを一緒に見る。だから COUNT(*) を並べておくと読み違えない。ここから書いてみよう。