Re: trying to summarize into a new table by time...

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Larry Rosenman <ler(at)lerctr(dot)org>
Cc: PostgreSQL SQL List <pgsql-sql(at)postgresql(dot)org>
Subject: Re: trying to summarize into a new table by time...
Date: 2001-06-02 14:16:12
Message-ID: 11605.991491372@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Larry Rosenman <ler(at)lerctr(dot)org> writes:
> where early >= '2001-01-01 00:00:00' and
> early <= '2001-01-02 05:59:59'

> BUT, I'm wondering if there is an easy way to generate the obvious
> where clauses automatically?

Assuming this is being fired from a cron job started at or just after
each interval, you could do something with date_trunc:

regression=# select now();
now
------------------------
2001-06-02 10:12:37-04
(1 row)

regression=# select date_trunc('hour', now());
date_trunc
------------------------
2001-06-02 10:00:00-04
(1 row)

regression=# select date_trunc('hour', now()) - '6 hours'::interval;
?column?
------------------------
2001-06-02 04:00:00-04
(1 row)

Or, if you're running the script once a day at midnight, use
current_date (or equivalently date_trunc('day',...)) and subtract
appropriate intervals from that.

regards, tom lane

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Larry Rosenman 2001-06-02 14:44:35 Re: trying to summarize into a new table by time...
Previous Message Larry Rosenman 2001-06-02 13:50:12 Re: trying to summarize into a new table by time...