样本数据:
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
答案 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
)