1. paizaラーニングトップ
  2. レベルアップ問題集
  3. 新・SQL入門編05ドリル(言語選択)
  4. 問題一覧 MySQL編
  5. 安くてたくさん MySQL編

新・SQL入門編05ドリルのサムネイル
安くてたくさん MySQL編(paizaランク C 相当)

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

問題

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

※ この問題集は、動画講座『新・SQL入門編5: GROUP BY 句を理解しよう』で学習した内容について反復して練習できるドリルです。分からないことがあれば、動画に戻って復習してみてください。

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

#カラム名データ型内容
1ordered_id整数 (int)注文の通し番号
2menu_id整数 (int)メニュー番号
3num整数 (int)メニューの注文数
4sum整数 (int)小計


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

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


ordered_menu テーブルでは、同じ注文内で2種類以上のメニューが注文された場合、メニューごとに別のレコードとして記録されます。

注文数の合計が5品以上だった注文であり、注文の合計金額が1000円以下の注文について、そのordered_idと注文の合計金額を取得してください。

ヒント


INNER JOIN テーブル名 ON 結合条件: 結合条件が一致するようにテーブルを結合することができる
WHERE カラム名 <= 値: カラム名カラムの値が以下のレコードを絞り込むことができる
GROUP BY カラム名 HAVING 条件: カラム名カラムでグループ化した後に、条件でレコードを絞り込む
SELECT SUM(カラム名) FROM テーブル名 で、カラム名カラムの合計を取得できる

入力例1
ordered_menu テーブル
ordered_idmenu_idnumsum
1141200
2211250
381350
............
ordered テーブル
ordered_iddatetimebill
12021-12-17 9:31200
22021-12-17 9:46250
32021-12-17 10:91050
.........
出力例1
ordered_id bill
26 950
46 750
57 1000
...

問題一覧へ戻る

ページの先頭へ戻る