- ベストアンサー
検索結果のcountについて(groupby)
どなたかご教授ください。 あるテーブル(hoge)のカラム(adr)に4つのコードのいづれかが必ず入ります。そのコードごとにカウントを取ろうと思います。 例 adr )1:東京2:神奈川3:千葉4:埼玉 select count(adr) from hoge group by adr カウントを取る時に、例えば3がない場合は出力時に何も出力されずに、結果として1、2、4の件数が表示されます。 この時に、3の結果も「0」と表示させていのですが、どのようにすればよいのでしょうか。 宜しくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
無いものを表示するのは、出来ません。 なので自分で作ります。 select key,count(adr) from hoge, ( select 1 as key from dual union all select 2 from dual union all select 3 from dual union all select 4 from dual ) where key=adr(+) group by key; な感じかな。 でも、テーブルhogeの件数によっては、事前に集約した方が良いかも。 select key,c from (select adr,count(*) as c from hoge group by adr), ( select 1 as key from dual union all select 2 from dual union all select 3 from dual union all select 4 from dual ) where key=adr(+);
お礼
参考にさせていただいた結果、うまく出力できました。 回答ありがとうございました。