如何在postgres的另一列中为特定条件选择最近的日期?

70gysomp  于 2021-08-09  发布在  Java
关注(0)|答案(1)|浏览(371)

我有一张这样结构的table。

id|subject|date
1 | email | june 1
1 | call  | may 29
1 | call  | may 15
2 | call  | may 17
2 | call  | may 20

我正在尝试创建一个列,其中包含一个名为“最近调用”的查询,该查询具有每个id的最近调用日期。如下所示:

id|most_recent_call
1 |may 29
2 |may 20

我只想在subject列等于call的所有行中找出每个id的最近日期

ryevplcw

ryevplcw1#

您可以只使用条件聚合:

select id, max(date) filter(where subject = 'call') most_recent_call
from mytable
group by id

当然,这是假设 date 属于 date -就像数据类型一样。

相关问题