各地域で最も単価が高い明細(相関サブクエリ)

上級

問題文

問題

sales テーブルから、各地域(region)の中で単価(unit_price)が最も高い明細を、地域名の昇順で出力してください。

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

列名内容
region地域
id明細ID
unit_price単価
ヒントを見る

「その地域での最高単価」を相関サブクエリで求め、それと一致する行だけを残します: WHERE unit_price = (SELECT MAX(unit_price) FROM sales s2 WHERE s2.region = s1.region)。 外側の別名 s1 を内側で参照するのがポイントです。

スキーマ

使用データベース:PostgreSQL 16
sales20
idsale_dateregioncategoryquantityunit_price
12024-01-05EastElectronics31200
22024-01-12WestElectronics11500
32024-01-20EastBooks5900
42024-02-03NorthElectronics21100
52024-02-14WestBooks4800
62024-02-22EastToys6400
72024-03-01NorthBooks3950
82024-03-09WestToys7350
92024-03-18EastElectronics21300
102024-03-27NorthToys5420
112024-04-04WestElectronics41250
122024-04-15EastBooks2880
132024-04-23NorthElectronics11400
142024-05-06WestBooks6770
152024-05-19EastToys8360
162024-05-28NorthBooks4910
172024-06-07WestElectronics31180
182024-06-16EastElectronics51220
192024-06-25NorthToys9380
202024-06-30WestToys2340

SQL

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

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