条件に一致する行がない場合、カウント値0を取得しようとしています。グループからの選択でカウント(*)値0を得る方法
私は大きなテーブルを持っています。しかし、私はそれが私が欲しいものを説明するように切り捨てられたテーブルを掲示しています。
例
表1:
**name year title**
name1 2008 title1
name2 2009 title2
name3 2010 title1
name1 2008 title2
name4 2009 title1
name2 2008 title2
私は年= 2008すべての名前の行の数を示したいと思います。だから、もし2008年の行がないならば。名前とそのカウント0が表示されます。
出力は次のようになります。
**name count**
name1 2
name2 1
name3 0
name4 0
回避策:
select p.name,(select count(*)
from table1 b
where b.name=p.name) as count
from table1 p
where p.year=2008;
いくつかのより多くを試してみました。しかし、彼らのどれも働いていませんでした。
感謝。 :)あなたは私の半日を救った!私はこの最初の半日を無駄にしました。しかし、SQLでいくつかの新しいことを学びました。 – sailesh