Хммм.Postgres не имеет функции агрегации first()
, но вместо этого вы можете использовать массивы:
select type,
max(price),
array_agg(price order by time asc)[1] as earliest_price
from t
group by type;
РЕДАКТИРОВАТЬ:
Существуют и другие подходы, такие как:
select distinct on (type) type,
max(price) over (partition by type),
price
from t
order by type, time asc;