問題 #153上級CTE基本
最も高単価な明細商品を仕入先別に特定する
CTEを使い、仕入先ごとに最も高いunit_priceの明細商品名と単価を取得してください。 結合のヒント: - purchase_ordersテーブル(エイリアス: po)との結合条件: pi.purchase_order_id = po.id(purchase_items.purchase_order_id = purchase_orders.id) - vendorsテーブル(エイリアス: v)との結合条件: po.vendor_id = v.id) SELECT vendor_name, product_name, unit_price FROM ranked(purchase_orders.vendor_id = vendors.id) SELECT vendor_name, product_name, unit_price FROM ranked) 取得列: v.name AS vendor_name, pi.product_name, pi.unit_price, RANK() OVER (PARTITION BY po.vendor_id ORDER BY pi.unit_price DESC) AS rn
この問題で学べること
- CTE基本 の構文・考え方
- 上級レベルの SQL クエリの書き方
- ブラウザ上で SQL を実行して即座に結果を確認する練習
使用テーブル
vendorspurchase_orderspurchase_items難易度・対象者
- 難易度
- 上級
- カテゴリ
- CTE基本
- 対象者
- ウィンドウ関数や CTE など応用構文を学びたい方、複雑な集計に挑戦したい方