集める・数える

INPUT · スライド

まとめて合計する

01 / 05

1行ずつでは分からないこと

前のレッスンで、商品ごとの売り上げは出せるようになった。でも市の主催者が知りたいのは「全体で何個売れたのか」だよね。

返ってきた8行を目で足すのは、データが1万件あったら無理。表ぜんたいを1つの値にまとめる書き方がほしい。

02 / 05

集計関数という道具

複数の行をまとめて1つの値にする関数を集計関数と呼ぶよ。

  • 何行あっても、返ってくるのは1行1列
  • かっこの中に、まとめたい列を書く

この章ではこのあと合計・平均・件数・最大・最小を順に覚えていくよ。まずは合計から。

03 / 05

`SUM` で合計

SUM(列名) で、その列の値を全行たし合わせた答えが返る。読み方は「sales の sold を全部合計して」。

返ってきたのは1行だけ。8行が1つの値にまとまったんだ。

SELECT SUM(sold) FROM sales;

実行結果

48

04 / 05

計算した列も合計できる

かっこの中には計算式も書ける。SUM(price * sold) なら、行ごとにかけ算してから全部たす——つまり売り上げの総額だよ。

「行ごとに計算 → 全体をまとめる」の2段になっているのがポイント。

SELECT SUM(price * sold)  FROM sales;

実行結果

41400

05 / 05

絞ってから合計する

WHERE と組み合わせれば、条件に合う行だけの合計が出せる。書く順番は今までと同じ WHERE のまま。

1つ注意。集計関数と普通の列を並べると、返るのは1行なのに商品名は最初の行のものが出てしまう。まぜて書かないのがルールだよ。ここから書いてみよう。

SELECT SUM(sold) FROM sales  WHERE stall = 'つむぎ雑貨';

実行結果

24