From: | "Loredana Curugiu" <loredana(dot)curugiu(at)gmail(dot)com> |
---|---|
To: | "Richard Broersma Jr" <rabroersma(at)yahoo(dot)com>, pgsql-novice(at)postgresql(dot)org |
Subject: | Re: Count rows group by time intervals |
Date: | 2007-05-14 07:57:38 |
Message-ID: | 1c23c8e70705140057p7deafa15pa169d7c30b4aa22f@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-novice |
> Another way is to use an auxillary table to join on your required date
> range.
>
> SELECT A.theme, A.receiver, COUNT(A.date),
> Time_range.date_start, Time_range.date_end
> FROM Your_table A
> INNER JOIN ( SELECT ( SELECT MIN( date ) FROM Your_table ) + x * INTERVAL
> '1 day' AS date_start,
> ( SELECT MIN( date ) FROM Your_table ) + 2 + x *
> INTERVAL '1 day' AS date_end,
> FROM Generate_series( 1, ( SELECT MAX( date ) FROM
> Your_table ) -
> ( SELECT MIN( date ) FROM
> Your_table ), 2 )
> ) AS Time_range( date_start, date_end )
> ON B.date_start <= A.date AND B.date_end > A.date
> GROUP BY A.theme, A.receiver, Time_range.date_start,
> Time_range.date_end;
Hi Richard,
I think your solution is very good and elegant, but I cannot call
generate_series()
because in the 7.4.2 version of postgres ( I use this version ) this
function doesn't
exist.
Many thanks,
Loredana
From | Date | Subject | |
---|---|---|---|
Next Message | David Flegl | 2007-05-14 08:23:19 | How to use 2PC? |
Previous Message | Loredana Curugiu | 2007-05-14 07:49:33 | Re: Fw: Count rows group by time intervals |