Re: Generating subtotal reports direct from SQL

From: Erik Jones <erik(at)myemma(dot)com>
To: Owen Hartnett <owen(at)clipboardinc(dot)com>
Cc: <pgsql-general(at)postgresql(dot)org>
Subject: Re: Generating subtotal reports direct from SQL
Date: 2007-10-09 22:37:10
Message-ID: F4A37828-A0C3-419C-AF16-BE4FDCD93DD8@myemma.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Oct 9, 2007, at 4:53 PM, Owen Hartnett wrote:

>
> I'm hoping there's a real easy way of doing this that I'm just
> missing:
>
> Given a Select statement such as:
>
> Select ID, code, amount from foo where code < 10;
>
> that gives me a table like this:
>
> ID code amount
> _____________________________________
> 1 4 20
> 2 3 10
> 3 4 15
> 4 2 10
> 5 3 9
> 6 3 8
>
> I want to generate a report table like the following (group by code):
>
> ID code amount
> _____________________________________
> 4 2 10
> 2 10
> 2 3 10
> 5 3 9
> 6 3 8
> 3 27
> 1 4 20
> 3 4 15
> 4 35
> 72
>
> Such that the final table has additional subtotal rows with the
> aggregate sum of the amounts. I'm thinking I can generate two
> tables and merge them, but is there an easier way using a fancy
> Select statement?

Try generating them and merging them in one queryt:

SELECT ID, code, amount
FROM (SELECT ID, code, amount
FROM table_name
UNION
SELECT null, code, sum(amount)
FROM table_name
GROUP BY code) t
ORDER BY code, test1_id

Note that I didn't test that

Erik Jones

Software Developer | Emma®
erik(at)myemma(dot)com
800.595.4401 or 615.292.5888
615.292.0777 (fax)

Emma helps organizations everywhere communicate & market in style.
Visit us online at http://www.myemma.com

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Dmitry Koterov 2007-10-09 23:01:58 How to speedup intarray aggregate function?
Previous Message Owen Hartnett 2007-10-09 21:53:03 Generating subtotal reports direct from SQL