我有两组结果:
SELECT name,count(appearance) as countA from table where results = '1'
SELECT name,count(appearance) as countB from table where results = '2'
我希望将它们并排组合,如下所示:
+---------+---------+---------+
| col_1 | countA | countB |
+---------+---------+---------+
| John | 3 | 1 |
| Mary | 1 | 2 |
| Gary | 2 | NULL |
| Sean | 4 | NULL |
| Mike | NULL | 6 |
+---------+---------+---------+
我怎么做?
最佳答案
这应该(在Oracle中)而不需要自联接
SELECT name,sum( case results when '1' then 1 else 0 end ) as countA,sum( case results when '2' then 1 else 0 end ) as countB
from table
where results IN ( '1','2' )
group by
name