如何查询每天的最后一条记录

时间:2012-08-14 15:20:10

标签: postgresql timestamp

我有一个表功能,其中包含一个名为sample_time的datetimetz字段和一个名为amp_hours的列。

amp_hours字段大约每两分钟获得一次记录,并在午夜每晚重置。

我希望看到每天最后一条记录的sample_time和amp_hours。

我对SQL很陌生,所以我可能会忽略一个明显的答案。

我看到了这个post关于如何选择组的最后一条记录但是我对SQL不熟悉以使其在日期时间内工作:

我想用lead()lag()来比较记录的日期和下一条记录,但我使用的是postgresql 8.3,我认为窗口是在8.4中引入的。

1 个答案:

答案 0 :(得分:7)

试试这个:

SELECT DISTINCT ON (sample_time::date) sample_time, amp_hours
FROM power
ORDER BY sample_time::date DESC, sample_time DESC;