From: | Ian Barwick <barwick(at)gmx(dot)net> |
---|---|
To: | "John Oakes" <john(at)networkproductions(dot)net>, <pgsql-sql(at)postgresql(dot)org> |
Subject: | Re: Possible to do this in one query? |
Date: | 2002-03-27 02:10:50 |
Message-ID: | 200203270309.EAA29988@post.webmailer.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
On Tuesday 26 March 2002 19:22, John Oakes wrote:
> I have a table with a column that contains fail codes. These codes are
> 1-9. I need to get a count of each of the codes. Right now I have separate
> queries:
>
> select count(*) from tablename
> where failcode = '1';
>
> If I use GROUP BY it obviously doesn't get the count for codes that don't
> exist. I need to have 0 returned though so I have a listing of all 9 fail
> codes and their total, even if it is zero. I tried UNION like this:
>
> select count(*) from tablename
> where failcode = '1';
> UNION
> select count(*) from tablename
> where failcode = '2';
>
> etc, but it too excludes the codes that have a count of zero. Right now I
> have resorted to using 9 separate queries. Is there a way to do this with
> one? Thank you!
If you have a seperate table containing all possible fail codes you can do
something like this:
select fc.failcode, count(tn.failcode)
from failcode_table fc
left join tablename tn
on tn.failcode=fc.failcode
group by fc.failcode
Ian Barwick
From | Date | Subject | |
---|---|---|---|
Next Message | Kancha . | 2002-03-27 02:30:39 | resetting sequence |
Previous Message | Shane Wright | 2002-03-26 23:55:50 | Re: quickest query to check a table for existance of a value in a field |