問題 #282中級JOIN + 集計
レストランごとの注文合計金額を集計
CTEでfood_orders・table_reservations・menu_itemsを結合してレストランごとの注文合計を集計し、restaurantsとLEFT JOINして合計の多い順に表示してください。 結合のヒント: - table_reservationsテーブル(エイリアス: tr)との結合条件: fo.reservation_id = tr.id(food_orders.reservation_id = table_reservations.id) - menu_itemsテーブル(エイリアス: mi)との結合条件: fo.menu_item_id = mi.id(food_orders.menu_item_id = menu_items.id) - order_totalsテーブル(エイリアス: ot)との結合条件: r.id = ot.restaurant_id(r.id = order_totals.restaurant_id) 取得列: tr.restaurant_id, SUM(mi.price * fo.quantity) AS total_revenue
この問題で学べること
- JOIN + 集計 の構文・考え方
- 中級レベルの SQL クエリの書き方
- ブラウザ上で SQL を実行して即座に結果を確認する練習
使用テーブル
restaurantsfood_orderstable_reservationsmenu_items難易度・対象者
- 難易度
- 中級
- カテゴリ
- JOIN + 集計
- 対象者
- JOIN や集計関数を一通り使える方、より実務的な問題に取り組みたい方