Статус выбора на основе даты подачи заявления - PullRequest
0 голосов
/ 18 октября 2018

Пример данных:

ID  Goal    Status              applied_at
A   A       Ongoing             1-Jan
A   B       Applied             1-Feb
B   C       Ongoing             1-Mar
B   D       Rebalanced          1-Apr
B   E       Signed Paperwork    1-May

Я пытаюсь выбрать status на ID на основе min(applied_at).Любые предложения, как я могу это сделать?

Ожидаемый результат:

ID  Status           
A   Ongoing                    
B   Ongoing  

Ответы [ 3 ]

0 голосов
/ 18 октября 2018

Другой вариант будет использовать подзапрос:

select t.id, t.status
from table t
where applied_at = (select min(t1.applied_at) from table t1 where t1.id = t.id);
0 голосов
/ 18 октября 2018

использовать связанный подзапрос

select t.ID,t.status from your_table t where t.applied_at = 
                       ( select min(applied_at) from your_table t1 
                        where t1.ID =t.ID
                        )
0 голосов
/ 18 октября 2018

row_number() - это типичный подход:

select id, status
from (select t.*, row_number() over (partition by id order by applied_at) as seqnum
      from t
     ) t
where seqnum = 1;
...