Re: Histogram generator - Mailing list pgsql-general

From Steve Atkins
Subject Re: Histogram generator
Date
Msg-id AE7A72CA-D9FB-45C9-A2E4-DDEDC6ED05D1@blighty.com
Whole thread Raw
In response to Re: Histogram generator  (Patrick May <patrick.may@mac.com>)
Responses Re: Histogram generator
List pgsql-general
On Jul 27, 2010, at 6:07 PM, Patrick May wrote:

> On Jul 27, 2010, at 7:12 PM, Dann Corbit wrote:
>>>     I have a table containing events with timestamps.  I would like
>>> to generate a histogram of the number of each type of event for each
>>> half-hour period from 8:00 am to 6:00 pm.  Are there any tools that
>>> will help me do this?
>>
>> GROUP BY is essentially a histogram generator.
>> The age() function will give you an interval.
>>
>> I am not sure if you want to combine half hour periods from different days with the same time or not (IOW are 8AM
Tuesdayand 8AM Wednesday supposed to be grouped together or not?) 
>>
>> I guess that if you are more specific about exactly what you want you can get a better answer.  Your requirement is
alittle bit vague or ambiguous. 
>
>     I don't mind using Excel to generate the actual graphic.  Ideally I'd get output something like this:
>
>       date    start      end    event count
> ---------- -------- -------- -------- -----
> 2010-07-27 08:00:00 08:29:59  EVENT_1    20
> 2010-07-27 08:00:00 08:29:59  EVENT_2    15
> 2010-07-27 08:30:00 08:59:59  EVENT_1    10
> 2010-07-27 08:30:00 08:59:59  EVENT_3     5
>
> I'm quite familiar with SQL, but I'm not sure how to generate the half hour intervals without hard coding them.

There's probably a better way, but something like this might work:

select date_trunc('hour', foo) + interval '30 minutes' * floor(extract(minute from foo) / 30) as start, event, count(*)
frombar group by 1, 2 order by 1 asc; 

Cheers,
  Steve


pgsql-general by date:

Previous
From: raf
Date:
Subject: postgres-8.4SS, pg_dump from macosx-10.6 has "ssl handshake error" 26% in
Next
From: Tom Lane
Date:
Subject: Re: postgres-8.4SS, pg_dump from macosx-10.6 has "ssl handshake error" 26% in