Re: Generating subtotal reports direct from SQL - Mailing list pgsql-general

From Erik Jones
Subject Re: Generating subtotal reports direct from SQL
Date
Msg-id F4A37828-A0C3-419C-AF16-BE4FDCD93DD8@myemma.com
Whole thread Raw
In response to Generating subtotal reports direct from SQL  (Owen Hartnett <owen@clipboardinc.com>)
List 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@myemma.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



pgsql-general by date:

Previous
From: Owen Hartnett
Date:
Subject: Generating subtotal reports direct from SQL
Next
From: "Dmitry Koterov"
Date:
Subject: How to speedup intarray aggregate function?