根据申请日期选择状态

时间:2018-10-18 17:33:19

标签: sql amazon-redshift

样本数据:

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 :(得分:1)

knayak=# select * from jsontable; id | jsondata ----+----------------------------------------------------- 6 | {"size": "Large", "color": "Red", "fruit": "Apple"} (1 row) 是一种典型的方法:

row_number()

答案 1 :(得分:0)

其他选择是使用子查询:

select t.id, t.status
from table t
where applied_at = (select min(t1.applied_at) from table t1 where t1.id = t.id);

答案 2 :(得分:0)

使用相关子查询

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
                        )