レストラン別売上ランキングをCTEで作成
上級
CTE基本
レストラン別売上ランキングをCTEで作成
ウィンドウ関数やサブクエリなど、複雑なSQL構文をマスターする上級問題です。
問題文
CTEでレストランごとの注文合計を集計し、restaurantsとLEFT JOINしてRANK()で売上ランキングを付けてください。
結合のヒント
- 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)
- restaurant_revenueテーブル(エイリアス: rr)との結合条件: r.id = rr.restaurant_id(r.id = restaurant_revenue.restaurant_id)
取得列: tr.restaurant_id, SUM(mi.price * fo.quantity) AS total_revenue
この問題で学べること
- CTE基本 の構文・考え方
- 上級レベルのSQLクエリの書き方
- ブラウザ上でSQLを実行して即座に結果を確認する練習
使用テーブル
restaurantsfood_orderstable_reservationsmenu_items難易度・対象者
難易度上級
カテゴリCTE基本
対象者ウィンドウ関数やサブクエリなど、複雑なSQL構文をマスターする上級問題です。