From: Joel Burton <joel@joelburton.com>
To: Casey Allen Shobe <cshobe@osss.net>
Cc: pgsql-sql@postgresql.org
Subject: Re: Combining queries while preserving order in SQL - Help!
Date: Mon, 2 Dec 2002 14:23:21 -0500
Message-ID: <20021202192321.GA13619@temp.joelburton.com> (raw)
In-Reply-To: <200212021346.38338.cshobe@osss.net>
References: <200212021346.38338.cshobe@osss.net>
On Mon, Dec 02, 2002 at 01:46:38PM -0500, Casey Allen Shobe wrote:
> Hi there,
>
> I need to do the following in one SQL query:
>
> select field1, field2, field3, field4, field5 from table where field6 < 5
> order by field1
>
> And a totals line which shows the sum for each column.
>
> The important part is that I need to preserve the order by of the first query.
>
> Is there any way to do this in one query?
create table foo (a int, b int, c int );
insert into foo values (1,2,3);
insert into foo values (4,5,6);
select '' as label,
*
from foo
union all
select 'TOTAL',
sum(a),
sum(b),
sum(c)
from foo
order by 1,2;
(you wouldn't need the label column to sort by, except that a might
contain negative numbers, so the sum might be _less_ than some/all of
the numbers. by first sorting on this junk column, we can force the
totals at the bottom).
p.s. don't forget the "union __all__", otherwise you'll get rid of
duplicate entries in the your table.
--
Joel BURTON | joel@joelburton.com | joelburton.com | aim: wjoelburton
Independent Knowledge Management Consultant
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: joel@joelburton.com, cshobe@osss.net
Subject: Re: Combining queries while preserving order in SQL - Help!
In-Reply-To: <20021202192321.GA13619@temp.joelburton.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox