From: | Joel Burton <joel(at)joelburton(dot)com> |
---|---|
To: | Casey Allen Shobe <cshobe(at)osss(dot)net> |
Cc: | pgsql-sql(at)postgresql(dot)org |
Subject: | Re: Combining queries while preserving order in SQL - Help! |
Date: | 2002-12-02 19:23:21 |
Message-ID: | 20021202192321.GA13619@temp.joelburton.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
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(at)joelburton(dot)com | joelburton.com | aim: wjoelburton
Independent Knowledge Management Consultant
From | Date | Subject | |
---|---|---|---|
Next Message | Jean-Luc Lachance | 2002-12-02 19:54:10 | Re: Min and Max |
Previous Message | Joel Burton | 2002-12-02 19:01:24 | Re: Accumulative Queries? |