Re: Applying SUM twice in the same query. - Mailing list pgsql-sql

From Tom Lane
Subject Re: Applying SUM twice in the same query.
Date
Msg-id 2036.963676782@sss.pgh.pa.us
Whole thread Raw
In response to Applying SUM twice in the same query.  (Rodger Donaldson <rodgerd@diaspora.gen.nz>)
List pgsql-sql
Rodger Donaldson <rodgerd@diaspora.gen.nz> writes:
> What I really want to do with total is to derive a
> proportion of number of server:number of servers, something like:

Only way to do that is with a sub-select, because all the aggregates
appearing in a single query are going to be computed over the same
input set(s).  Try

selectserver_name,sum(number) AS number,(select sum(number) from web_servers) AS total
from web_servers 
group by server_name;

While this looks like it might be inefficient, it's really not because
Postgres recognizes that the inner select is independent of the outer
and only evaluates it once.

Note you need PG 7.0 or later to do this.
        regards, tom lane


pgsql-sql by date:

Previous
From: Rodger Donaldson
Date:
Subject: Applying SUM twice in the same query.
Next
From: kumar1@home.com (Prasanth A. Kumar)
Date:
Subject: Select by priority