レストランごとの注文合計金額を集計
中級
JOIN + 集計
レストランごとの注文合計金額を集計
JOINや集計関数など、実務でよく使うSQL構文を練習する中級問題です。
問題文
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や集計関数など、実務でよく使うSQL構文を練習する中級問題です。