Re: Folding subtotals into query?

From: Eric Ridge <ebr(at)tcdi(dot)com>
To: Jerry LeVan <jerry(dot)levan(at)eku(dot)edu>
Cc: Postgres General <pgsql-general(at)postgresql(dot)org>
Subject: Re: Folding subtotals into query?
Date: 2004-04-18 19:10:54
Message-ID: 1D5B38C4-916C-11D8-91AB-000A95BB5944@tcdi.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Apr 18, 2004, at 2:41 PM, Jerry LeVan wrote:

> Is is possible, via some clever sql coding ( perhaps with PL/pgsql)
> to get subtotals to appear in a selection, ie
>
> If I have a query: select * from checks order by category
> I would like the have the subtotals appear (possibly in
> an unused column for each "category" when the category
> "breaks".
>
> Basically I would like to meld the query:
> select category, sum(amount) from checks group by category order by
> category

I think you want to do something like this:

SELECT *, (SELECT sum(amount) FROM checks AS x WHERE x.category =
checks.category GROUP BY x.category) AS total
FROM checks
ORDER BY category;

This will give you a column named "total" for every row in checks. The
value will be the sum(amount) for the corresponding category. You'll
likely want an index on checks.category to get any level of tolerable
performance out of the query.

eric

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Jerry LeVan 2004-04-18 20:07:33 Re: Folding subtotals into query?
Previous Message Jerry LeVan 2004-04-18 18:41:26 Folding subtotals into query?