Re: Can this be done with sql?

From: teknokrat(at)yahoo(dot)com (teknokrat)
To: pgsql-sql(at)postgresql(dot)org
Subject: Re: Can this be done with sql?
Date: 2002-07-04 21:05:58
Message-ID: 1cbae208.0207041305.43dffc0@posting.google.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

""Rajesh Kumar Mallah."" <mallah(at)trade-india(dot)com> wrote in message
news:200207042020(dot)29657(dot)mallah(at)trade-india(dot)com(dot)(dot)(dot)
> Hi ,
>
> you can use GROUP BY , at the expense of adding one more column of SERIAL
d=
> ata type,
>
> say,
>
> select * from t_a limit 10;
> access_log=3D# SELECT * from t_a limit 15;
>
> sno | value
> -----+-------
> 1 | 4533
> 2 | 2740
> 3 | 9970
>
> 4 | 6445
> 5 | 2220
> 6 | 2301
>
> 7 | 6847
> 8 | 5739
> 9 | 5286
>
> 10 | 5556
> 11 | 9309
> 12 | 9552
>
> 13 | 8589
> 14 | 5935
> 15 | 2382
> (15 rows)
>
> if you want avg for every third item you can use:
>
> access_log=3D# SELECT avg(value) from t_a group by (1+(sno-1)/3) limit
5;=
> =20=20
>

yes, thank you, that may help but unfortunately there are are few more
problems to face.

1. I will need to select groups from anywhere in the table so i cannot
assume that 1 will be the start number. They will be contigous however so i
can use another query top get the start number but is it possible to do it
with just one select?

2. I need to display not just aggregates but the first and last value in the
group for two of the fields. I mean by this that i need
opening_value(field1) and closing_value(field2).

3. If this needs to be done via stored procedure how do i get it to return a
result set. I've tried setof record but it doesn't work.

thanks

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Arjen van der Meijden 2002-07-04 21:32:20 Re: Boolean to int
Previous Message Stephan Szabo 2002-07-04 18:45:42 Re: Boolean to int