我有一个表功能,其中包含一个名为sample_time的datetimetz字段和一个名为amp_hours的列。
amp_hours字段大约每两分钟获得一次记录,并在午夜每晚重置。
我希望看到每天最后一条记录的sample_time和amp_hours。
我对SQL很陌生,所以我可能会忽略一个明显的答案。
我看到了这个post关于如何选择组的最后一条记录但是我对SQL不熟悉以使其在日期时间内工作:
我想用lead()
或lag()
来比较记录的日期和下一条记录,但我使用的是postgresql 8.3,我认为窗口是在8.4中引入的。
答案 0 :(得分:7)
试试这个:
SELECT DISTINCT ON (sample_time::date) sample_time, amp_hours
FROM power
ORDER BY sample_time::date DESC, sample_time DESC;