コンビニの売上を調べよう
コンビニの、3日分の売上表があります。おにぎり、お茶、パン、サンドの個数が入っています。
店長が聞きます。「一番売れたのは、どれ?」「全部で何個売れた?」
前の授業のSQLでは、取り出すだけでした。今日は、並べかえて、数える方法を学びます。
今日のキーワード
| ことば | いみ | れい |
|---|---|---|
| ORDER BY | 行を、指定した列の順に並べる言葉です。 | ORDER BY qty |
| DESC | 大きい順に並べる指定です。小さい順は ASC です。 | ORDER BY qty DESC |
| LIMIT | 取り出す行の数を決める言葉です。 | LIMIT 3 |
| 集計関数 | 行をまとめて、数を求めるものです。COUNT、SUM、AVG があります。 | SUM(qty) |
| GROUP BY | 同じ値の行を、グループにまとめる言葉です。 | GROUP BY item |
学生が入力するセルは、このプレビューでは空白です。
並べかえる ORDER BY
取り出した行は、ふつう、入れた順に出てきます。
ORDER BYを使うと、指定した列の順に並べられます。
大きい順はDESC、小さい順はASCです。何も書かないと、小さい順になります。
やってみよう: 多い順に並べる
-- 売れた個数(qty)の多い順に並べます。DESC は大きい順です。
SELECT item, day, qty FROM sales ORDER BY qty DESC;
-- DESC を ASC に変えると、小さい順になります。
SELECT item, day, qty FROM sales ORDER BY qty ASC;
ベスト3だけ取り出す
全部の行はいらず、上の3つだけ知りたいときは、LIMITを使います。
並べかえてから、LIMIT で切ると、「ベスト3」が取り出せます。
順番は、WHERE、ORDER BY、LIMIT の順に書きます。
やってみよう: ベスト3
-- LIMIT は、取り出す行の数を決めます。ベスト3です。
SELECT item, day, qty FROM sales ORDER BY qty DESC LIMIT 3;
例: 多い順のベスト3
| 順位 | 品 | 曜日 | 個数 |
|---|---|---|---|
| 1位 | おにぎり | 火 | 15 |
| 2位 | おにぎり | 月 | 12 |
| 3位 | お茶 | 火 | 10 |
学生が入力するセルは、このプレビューでは空白です。
小さな確認: 並べ方
やってみよう
小さな確認: 並べ方
3問挑戦してみましょう。回答はここで採点され、その後は保存されません。点数を残したい場合や、続きから再開したい場合はログインしてください。ログインして点数を保存
答えはここで採点され、保存されません。アカウントがあれば、結果が残ります。
数える COUNT、SUM、AVG
COUNTは、行の数を数えます。SUMは、合計です。AVGは、平均です。
これらを、集計関数と呼びます。複数の行を、一つの数にまとめます。
おにぎりの行は3行です。個数は12、15、9で、合計36、平均12です。