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
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 |