Запрос, чтобы найти значение в столбце, зависящее от другого столбца в таблице, являющегося минимальной датой - PullRequest
1 голос
/ 28 февраля 2020

У меня есть набор данных, который выглядит следующим образом. Я хотел бы получить другой идентификатор, минимальную дату и значение в минимальную дату.

id  date         value
1   01/01/2020  0.5
1   02/01/2020  1
1   03/01/2020  2
2   01/01/2020  3
2   02/01/2020  4
2   03/01/2020  5

Этот код будет извлекать идентификатор и минимальную дату

select Distinct(id), min(nav_date)
from table
group by id

Как я могу получить значение на минимальную дату, чтобы вывод моего запроса выглядел следующим образом?

id  date    value
1   01/01/2020  0.5
2   01/01/2020  3

1 Ответ

2 голосов
/ 28 февраля 2020

Использование distinct on:

select distinct on (id) t.*
from t
order by id, date;

Это может использовать индекс на (id, date) и, как правило, самый быстрый способ выполнить эту операцию в Postgres.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...