微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在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

原文地址:https://www.jb51.cc/mysql/432916.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐