同カテゴリの平均より高い商品(相関サブクエリ)

上級

問題文

問題

products テーブルから、自分と同じカテゴリ(category)の平均価格よりも価格(price)が高い商品を、価格の高い順・同価格なら商品名の昇順で出力してください。

出力する列は次の3つ、この順序・この列名で出してください:

列名内容
product_name商品名
categoryカテゴリ
price価格
ヒントを見る

比較の基準は「全体の平均」ではなく「その商品のカテゴリの平均」です。 相関サブクエリ (SELECT AVG(price) FROM products p2 WHERE p2.category = p1.category) を使い、 外側の p1.category を内側で参照します。

スキーマ

使用データベース:PostgreSQL 16
customers5
idnamecity
1AliceTokyo
2BobOsaka
3CarolTokyo
4DaveNagoya
5EveOsaka
products6
idnamecategoryprice
1KeyboardPeripheral3000
2MousePeripheral1500
3MonitorDisplay20000
4CableAccessory500
5WebcamPeripheral4000
6DeskFurniture15000
orders6
idcustomer_idorder_date
112024-01-10
212024-02-15
322024-01-20
432024-03-05
522024-03-22
642024-02-28
order_items11
idorder_idproduct_idquantity
1111
2122
3231
4321
5343
6412
7451
8531
9542
10621
11652

SQL

⌘⏎ / Ctrl+Enter で実行
エディタを読み込み中…

「実行」を押すと、ここにSQLの実行結果が表示されます。