From: | "Tomasz Myrta" <jasiek(at)klaster(dot)net> |
---|---|
To: | Robert Treat <xzilla(at)users(dot)sourceforge(dot)net>, pgsql-sql(at)postgresql(dot)org |
Subject: | Re: can i make this sql query more efficiant? |
Date: | 2003-04-03 23:02:09 |
Message-ID: | 20030404080209.M3259@klaster.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance pgsql-sql |
<cut>
> select
> event,
> (select count(*) from baz a
> where level = 1 and a.event=baz.event) as ones,
> (select count(*) from baz a
> where level = 2 and a.event=baz.event) as twos,
> (select count(*) from baz a
> where level = 3 and a.event=baz.event) as threes
> from
> baz
> group by
> event;
>
> which gives me:
>
> event | ones | twos | threes
> -------+------+------+--------
> x | 1 | 1 | 1
> y | 0 | 1 | 2
> (2 rows)
<cut>
What about this:
select
event,
sum(case when level=1 then 1 else 0 end) as ones,
sum(case when level=2 then 1 else 0 end) as twos,
sum(case when level=3 then 1 else 0 end) as threes
from baz
group by event;
Regards,
Tomasz Myrta
From | Date | Subject | |
---|---|---|---|
Next Message | Josh Berkus | 2003-04-03 23:12:45 | Re: ext3 filesystem / linux 7.3 |
Previous Message | Bruno Wolff III | 2003-04-03 22:20:37 | Re: [PERFORM] [HACKERS] OSS database needed for testing |
From | Date | Subject | |
---|---|---|---|
Next Message | Manfred Koizar | 2003-04-03 23:13:18 | Re: can i make this sql query more efficiant? |
Previous Message | Marc G. Fournier | 2003-04-03 23:00:26 | Re: simple trigger question ... |