新・SQL入門編14ドリルのサムネイル
サブクエリをFROM句の中で使う 4 MySQL編(paizaランク C 相当)

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

問題

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

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

ordered_menu

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


menu
#カラム名データ型内容
1menu_id整数 (int)メニュー番号
2category_id整数 (int)カテゴリ番号
3name文字列 (varchar)メニュー名
4price整数 (int)価格



最も多く注文されたメニューの注文数の合計を1とした時の、それに対する各メニューの注文数の合計の比率を全メニューに対して求めてください。このカラムの名前は`比率`とし、メニュー番号、比率の順番で出力してください。

ヒント



  • FROM句内にサブクエリを記述することで、SELECT文に対してさらに処理を行うことができる

  • SELECT SUM(カラム名) FROM テーブル名:カラム名カラムの合計を取得できる

  • SELECT MAX(カラム名) FROM テーブル名:カラム名カラムの最大値を取得できる




  • SELECT句内のサブクエリを用いて「最も多く注文されたメニューの注文数の合計」を求めます。このサブクエリの中でさらにFROM句内のサブクエリを利用します。

  • このFROM句内で「各メニューの注文数の合計」のテーブルが必要になります。

入力例1
ordered_menu テーブル
ordered_idmenu_idnumsum
1141200
2211250
381350
............
menu テーブル
menu_idcategory_idnameprice
11ハンバーガー200
21ハンバーガー250
31ハンバーガー300
............
出力例1
AVG(売上額)
...

問題一覧へ戻る

  1. paizaトップ
  2. レベルアップ問題集
  3. 新・SQL入門編14ドリル(言語選択)
  4. 問題一覧 MySQL編
  5. サブクエリをFROM句の中で使う 4 MySQL編
ページの先頭へ戻る