Re: sum an alias - Mailing list pgsql-sql

From Wes James
Subject Re: sum an alias
Date
Msg-id AANLkTilYVcqa-2exe48IhvV-HSEcWKFSAO1B03hsoBtG@mail.gmail.com
Whole thread Raw
In response to Re: sum an alias  ("A. Kretschmer" <andreas.kretschmer@schollglas.com>)
List pgsql-sql
On Thu, Jun 3, 2010 at 11:54 PM, A. Kretschmer
<andreas.kretschmer@schollglas.com> wrote:
> In response to Wes James :
>> In the statement:
>>
>> select
>>     MAX(page_count_count) - MIN(page_count_count) as day_tot,
>>     MAX(page_count_count) as day_max, sum(MAX(page_count_count) -
>> MIN(page_count_count)) as tot,
>>     page_count_pdate
>> from page_count
>> group by page_count_pdate order by page_count_pdate
>>
>> Is there a way to do sum(day_tot) also in the same statement?
>
> Is this the correct table-definition?
>
> test=# \d page_count
>       Table "public.page_count"
>      Column      |  Type   | Modifiers
> ------------------+---------+-----------
>  page_count_pdate | date    |
>  page_count_count | integer |


That is the correct table def.

> If yes, your SQL is wrong:

I know the sql is wrong - I should have mentioned that, but I'm
looking for something that will work like that.  I need to sum the
difference of max() - min((). How can this be done, since there
doesn't seem to be a way to sum aggregates.

>
> test=# select
>    MAX(page_count_count) - MIN(page_count_count) as day_tot,
>    MAX(page_count_count) as day_max, sum(MAX(page_count_count) -
> MIN(page_count_count)) as tot,
>    page_count_pdate
> from page_count
> group by page_count_pdate order by page_count_pdate;
> ERROR:  aggregate function calls cannot be nested
> LINE 3:     MAX(page_count_count) as day_max, sum(MAX(page_count_cou...
>
>
> Can you provide the correct table definition?


thx,

-wes


pgsql-sql by date:

Previous
From: Jasen Betts
Date:
Subject: Re: how to construct sql
Next
From: "Oliveiros d'Azevedo Cristina"
Date:
Subject: Re: sum an alias