Re: sum of agreggates in one SELECT?

From: John McKown <joarmc(at)swbell(dot)net>
To: ldm(at)apartia(dot)ch
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: sum of agreggates in one SELECT?
Date: 2000-09-19 18:17:01
Message-ID: Pine.LNX.4.21.0009191308300.20327-100000@linux2.johnmckown.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Well, it's not a single SELECT, but why not use something like:

SELECT MAX(b.lot) AS quanity, max(p.price) AS price, p.login
INTO TEMPORARY TABLE temp1
FROM bid b, person p
WHERE b.auction_id=84 AND p.id=b.person_id
GROUP BY p.login
ORDER BY max(price);

SELECT SUM(quanity) from temp1;

If you need the output from the original SELECT then you can print it by
simply doing:

SELECT * FROM temp1;

Hope this is of some use to you,
John

On Tue, 19 Sep 2000, Louis-David Mitterrand wrote:

> Hello,
>
> I have the following query/result:
>
> auction=# select max(b.lot) as quantity,max(b.price) as price,p.login
from bid b, person p where b.auction_id = 84 and p.id = b.person_id group
by p.login order by max(price);
> quantity | price | login
> ----------+-------+-----------
> 1 | 5000 | papy
> 12 | 5750 | cunctator
> 8 | 6000 | vindex
> (3 rows)
>
> Now I would like to sum() all results from the quantity column and
> return it with one SELECT statement. Is that possible?
>
> I am trying:
>
> auction=# select sum(b.lot) from bid b, person p where b.auction_id = 84 and p.id = b.person_id ;
> sum
> -----
> 52
> (1 row)
>
> But this is wrong because it sums all quantities. I don't know how to
> apply a valid WHERE clause in that case.
>
> Thanks in advance for any help, cheers,
>
>
>

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Louis-David Mitterrand 2000-09-19 20:06:57 Re: sum of agreggates in one SELECT?
Previous Message Mikheev, Vadim 2000-09-19 18:06:44 RE: Repeatable reads