Re: need some help on figuring out how to write a query

From: Justin <justin(at)emproshunts(dot)com>
To: Jorge Godoy <jgodoy(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: need some help on figuring out how to write a query
Date: 2008-02-22 16:10:20
Message-ID: 47BEF3EC.5030706@emproshunts.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

I'm not after small code i'm after maintainable code where the date
range for this report would be always changing. So if i can get it to
one select statement i would on have to pass in some variables and it
would create the moving average. Plus what if the sales people decide
they want to change moving average from 10 weeks to 5 weeks or change it
to 15 weeks. People drive me nuts with i want it to do this or that ,
Of course they have no idea how complicated it sometimes to get what
they want.

Thanks you for your ideas Dean and Jorge gives me some ideas to play with.

Jorge Godoy wrote:
> 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...)
>
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message David Jaquay 2008-02-22 16:18:22 Understanding ps -ef "command" column
Previous Message Enrico 2008-02-22 16:10:16 Function problem