集める・数える

INPUT · スライド

平均を出す

01 / 04

合計だけでは比べられない

合計は「ぜんたいでどれだけ」を教えてくれる。でも記録の件数がちがう相手と比べるときは、合計だと不公平だよね。

そこで1件あたりどれくらいかを出すのが平均。AVG を使うよ。

02 / 04

`AVG` で平均

AVG(列名) で、その列の平均が返る。合計を件数で割った値だよ。

sales の値段は8件で合計9000円。だから平均は1125円だね。

SELECT AVG(price) FROM sales;

実行結果

1125

03 / 04

空の行は数にも入らない

ここが AVG のいちばん大事なところ。値が入っていない行は、割る数にも入らない

rating は8行のうち2行が空。合計は24だけど、割るのは8ではなく値が入っていた6件。だから答えは4になるよ。

SELECT SUM(rating), AVG(rating)  FROM sales;

実行結果

24 | 4

04 / 04

絞ってから平均する

WHERE で行を絞れば、その中の平均になる。お店ごとの品ぞろえの高さを比べる、なんてこともできるよ。

合計と平均は同じクエリに並べて書ける。集計関数はいくつ並べてもいいよ。ここから書いてみよう。

SELECT AVG(price) FROM sales  WHERE stall = 'こもれび堂';

実行結果

700