| 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: | Whole Thread | Raw Message | 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 ... |