在PostgreSQL中检索具有公共最新时间戳的数据子集

piv4azn7  于 2023-08-04  发布在  PostgreSQL
关注(0)|答案(1)|浏览(111)

我有一个包含虚拟机数据的表,该表由一些按计划运行的批处理作业填充。每次运行(以及相应的数据集)都有一个唯一的时间戳。我的目标是从表中检索最新的数据,即具有最新时间戳的所有记录。重要说明-不是 * 每个 * VMId的最新记录,而是具有公共最新时间戳的 * 所有 * VMId。为了简单起见,我们只考虑2列- 'VMid','datetime'。在PostgreSQL中,哪种方法最有效/最惯用?先谢了。

upd.:我设法获得了最新的时间戳

select
    datetime as last
from
    vmdata
order by
    datetime desc
limit 1

字符串
现在我需要在另一个查询(WITH?),但不确定如何。

lx0bsm1f

lx0bsm1f1#

类似这样的东西应该可以工作:

SELECT *
FROM vmdata
WHERE date(datetime) = (SELECT MAX(date(datetime)) FROM vmdata)

字符串

相关问题