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

kha*_*rul 5 mysql union

我有两组结果:

SELECT name, count(appearance) as countA from table where results = '1'
SELECT name, count(appearance) as countB from table where results = '2'
Run Code Online (Sandbox Code Playgroud)

我希望将它们并排组合,如下所示:

+---------+---------+---------+
| col_1   | countA  | countB  |
+---------+---------+---------+
| John    |    3    |    1    |
| Mary    |    1    |    2    |
| Gary    |    2    |   NULL  |
| Sean    |    4    |   NULL  |
| Mike    |  NULL   |    6    |
+---------+---------+---------+
Run Code Online (Sandbox Code Playgroud)

我怎么做?

Pau*_*ulJ 5

这应该(在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
Run Code Online (Sandbox Code Playgroud)