6

sample_time という datetimetz フィールドと amp_hours という列を持つテーブル power があります。

amp_hours フィールドは、約 2 分ごとにレコードを取得し、毎晩深夜にリセットされます。

毎日の最後のレコードの sample_time と amp_hours を確認したいと思います。

私はSQLに非常に慣れていないので、明らかな答えを見落としている可能性があります。

グループの最後のレコードを選択する方法に関するこの投稿を見ましたが、SQL を日時で機能させるのに十分な知識がありません。

レコードの日付を次のレコードと使用lead()または比較することを考えましたが、postgresql 8.3 を使用しており、8.4 でウィンドウ処理が導入されたと思います。lag()

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 に答える