获取给定第二个postgres的最新记录

bsxbgnwa  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(391)

我有毫秒精度时间戳的数据。我只想筛选给定秒内的最新时间戳。即,记录(2020-07-13 5:05.38.009,事件1)、(2020-07-13 5:05.38.012,事件2)只能检索后者。
我试过以下方法:

SELECT 
    timestamp as time, event as value, event_type as metric 
FROM 
    table
GROUP BY 
    date_trunc('second', time)

但后来我也被要求按事件分组,我看到了所有的数据(好像没有提供groupby)

l7wslrjt

l7wslrjt1#

在postgres中,你可以使用 distinct on :

select distinct on (date_trunc('second', time)) t.*
from t
order by time desc;

相关问题