如何在MySQL中结合来自同一个表的查询

前端之家收集整理的这篇文章主要介绍了如何在MySQL中结合来自同一个表的查询前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有两组结果:

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

猜你在找的MySQL相关文章