新・SQL入門編15ドリルのサムネイル
CASE式を用いた列持ちでの集計 1 MySQL編(paizaランク C 相当)

問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!

問題

下記の問題をプログラミングしてみよう!

注文履歴が ordered テーブルに保存されています。
ordered テーブルの形式は次の通りです。

#カラム名データ型内容
1ordered_id整数 (int)注文の通し番号
2datetime日時 (datetime)注文がおこなわれた日時
3bill整数 (int)注文の合計金額


注文の合計金額を500円未満500円以上1000円未満1000円以上の3種類に分け、レコードの件数を列持ちで集計してください。
デフォルトコードのSUM関数を埋めて回答してください。

ヒント



  • CASE WHEN 条件 THEN 値 END:条件に応じてカラムの値を変えることができる
  • WHEN句の後にELSE 値と続けることで、それまでの条件に合わなかった場合の値を設定できる
  • それぞれのCASE式について、条件を満たしている場合は1、そうでない場合は0に設定すればよいです。

入力例1
ordered テーブル
ordered_iddatetimebill
12021-12-17 9:31200
22021-12-17 9:46250
32021-12-17 10:91050
.........
出力例1
500円未満 500円以上1000円未満 1000円以上
80 165 195

問題一覧へ戻る

  1. paizaトップ
  2. レベルアップ問題集
  3. 新・SQL入門編15ドリル(言語選択)
  4. 問題一覧 MySQL編
  5. CASE式を用いた列持ちでの集計 1 MySQL編
ページの先頭へ戻る