問題 #285上級CTE基本
レストラン別売上ランキングをCTEで作成
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) 取得列: r.name, COALESCE(rr.total_revenue, 0) AS total_revenue, RANK() OVER (ORDER BY COALESCE(rr.total_revenue, 0) DESC) AS revenue_rank
この問題で学べること
- CTE基本 の構文・考え方
- 上級レベルの SQL クエリの書き方
- ブラウザ上で SQL を実行して即座に結果を確認する練習
使用テーブル
restaurantsfood_orderstable_reservationsmenu_items難易度・対象者
- 難易度
- 上級
- カテゴリ
- CTE基本
- 対象者
- ウィンドウ関数や CTE など応用構文を学びたい方、複雑な集計に挑戦したい方
関連問題
データベースを初期化中...
しばらくお待ちください...