Re: need some help on figuring out how to write a query - Mailing list pgsql-general

From Jorge Godoy
Subject Re: need some help on figuring out how to write a query
Date
Msg-id 200802220921.33034.jgodoy@gmail.com
Whole thread Raw
In response to need some help on figuring out how to write a query  (Justin <justin@emproshunts.com>)
Responses Re: need some help on figuring out how to write a query
List pgsql-general
Em Thursday 21 February 2008 18:37:47 Justin escreveu:

> Now i could write a function to do this or do it in C++ program that
> creates query with all kinds of unions.  I'm wondering if there is a way
> to create this in a single select statement??
> I can't think of a way to do it???

Why you need it in one query?  Think of maintenability not on code size.

Solve the problem in parts, calculating it for one week -- or ten, you can use
the interval type -- and then moving on...

The function would look like:

WHILE start_date + '10 weeks'::interval < today:
    SELECT INTO weeks_avg avg(value) FROM table WHERE date BETWEEN start_date AND
start_date+'10 weeks'::interval;
    start_date:=start_date + '1 week'::interval;
END WHILE;


Start from that and you'll have it done.  (Of course, above is pseudo code and
untested...)

--
Jorge Godoy      <jgodoy@gmail.com>


pgsql-general by date:

Previous
From: Jorge Godoy
Date:
Subject: Re: PostgreSQL 8.3.0 RPMs are available for download
Next
From: Oleg Bartunov
Date:
Subject: Re: ts_headline