-1
すべての都市で2台の最も高価な車を選択したいと思います。以下都市ごとに2台の最も高価な車を選択してください
DDL:
create table city_car
(
id bigserial,
city varchar(255),
car varchar(255),
price int,
primary key (id)
);
insert into city_car(city, car, price)
values
('los angeles', 'kia rio', 550),
('los angeles', 'audi a4', 1800),
('los angeles', 'lexus nx', 2000),
('los angeles', 'chevrolet camaro', 2800),
('los angeles', 'mazda 6', 1300),
('moscow', 'mazda 3', 1000),
('moscow', 'kia cerato', 1000),
('moscow', 'lexus nx', 2100),
('moscow', 'lexus lx', 5000),
('moscow', 'bmw x6', 5000),
('prague', 'skoda octavia', 1000);
出力は、すべての列と下のリストと同じにする必要があります。一般的にwindow functionsを使用して解決される
city name price
-----------------------------------------
'los angeles' 'lexus nx' 2000
'los angeles' 'chevrolet camaro' 2800
'moscow' 'lexus lx' 5000
'moscow' 'bmw x6' 5000
'prague' 'skoda octavia' 1000
例データに基づいて、それはおそらく 'ROW_NUMBER'の代わりに、' DENSE_RANK'です – dnoeth