我需要设置一个查询,从主表中获取一个包含特定列值的单个记录的表,每个记录必须有最新日期,如果多个记录中的最新日期相同,我只需要一个id最大的记录。到目前为止我用的是
Select id, p_id, max(date), column1, etc From table Group by p_id
但我需要的另一部分有一个单独的记录,每一个与最新的日期和最大的id在其他人。
gwo2fgha1#
只是使用 distinct on :
distinct on
select distinct on (p_id) t.* from mytable t order by p_id, date desc, id desc
对于每个 p_id ,这将给您带来最大 date . 列 id 是用来打领带的。
p_id
date
id
1条答案
按热度按时间gwo2fgha1#
只是使用
distinct on
:对于每个
p_id
,这将给您带来最大date
. 列id
是用来打领带的。