サブクエリをSELECT句の中で使う 3 MySQL編(paizaランク C 相当)
問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
問題
下記の問題をプログラミングしてみよう!
注文内容がordered_menu テーブルに保存されています。
ordered_menu テーブルの形式は次の通りです。
| # | カラム名 | データ型 | 内容 |
|---|
| 1 | ordered_id | 整数 (int) | 注文の通し番号 |
| 2 | menu_id | 整数 (int) | メニュー番号 |
| 3 | num | 整数 (int) | メニューの注文数 |
| 4 | sum | 整数 (int) | 小計 |
各ordered_idごとにメニューの注文数の合計を計算し、すべての注文数の合計に対する割合を計算してください。
すべてのordered_idに対し、ordered_id,割合の順に出力してください。
ヒント
- SELECT句内には単一の値を返すサブクエリを書くことができる
- SELECT句内のサブクエリでは、グループ化の影響を受けない値を取得できる
SELECT SUM(カラム名) FROM テーブル名:カラム名カラムの合計を取得できる
- いきなり割合を計算するのは難しいので、まずはordered_idごとに注文数の合計を計算する式を書くと見通しが良くなります。
- 出力例1
-
ordered_id SUM(num) 割合
1 1 0.0007
2 1 0.0007
3 5 0.0034
...
問題一覧へ戻る