6

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

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

我想查看每天最后一条记录的 sample_time 和 amp_hours。

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

我看到了这篇关于如何选择组的最后一条记录的帖子,但我对 SQL 不够熟悉,无法让它在日期时间工作:

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

4

1 回答 1

13

试试这个:

SELECT DISTINCT ON (sample_time::date) sample_time, amp_hours
FROM power
ORDER BY sample_time::date DESC, sample_time DESC;
于 2012-08-14T15:47:46.770 回答