新・SQL入門編15ドリルのサムネイル
条件に応じて値を変える 2 MySQL編(paizaランク C 相当)

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

問題

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

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

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


このお店では開店から10時台までの注文はモーニング、11時から15時台までの注文はランチ、16時以降の注文はディナーとして扱われます。デフォルトコードの穴を埋めて、ordered内のそれぞれの注文がどれに当たるかをラベル付けしてください。
DATE_FORMAT(datetime, '%H')で、注文の時刻を24時間表記で取得できます。


ヒント



  • CASE WHEN 条件 THEN 値 END:条件に応じてカラムの値を変えることができる
  • WHEN 条件 THEN 値の句は同じCASE式内に複数書くことができる
  • WHEN句の後にELSE 値と続けることで、それまでの条件に合わなかった場合の値を設定できる

入力例1
ordered テーブル
ordered_iddatetimebill
12021-12-17 9:31200
22021-12-17 9:46250
32021-12-17 10:91050
.........
出力例1
ordered_id datetime 時間等 1 2021-12-17 09:31:00 モーニング 2 2021-12-17 09:46:00 モーニング 3 2021-12-17 10:09:00 モーニング ...

問題一覧へ戻る

  1. paizaトップ
  2. レベルアップ問題集
  3. 新・SQL入門編15ドリル(言語選択)
  4. 問題一覧 MySQL編
  5. 条件に応じて値を変える 2 MySQL編
ページの先頭へ戻る