你好,先看数据库表数据:
表:mr_cpaspreadinfo_20160531
id cpaid type
1 2 1
2 3 1
3 3 0mysql:SELECT t1.cpaid,t2.count1 FROM (SELECT cpaid FROM mr_cpaspreadinfo_20160531 GROUP BY cpaid) as t1
LEFT JOIN (SELECT cpaid,COUNT(*) as count1 FROM mr_cpaspreadinfo_20160531 WHERE type =1) as t2 ON t1.cpaid=t2.cpaid错误结果:cpaid count1
2 2
3 null
我想得到的正确结果: cpaid count1
2 1
3 1
表:mr_cpaspreadinfo_20160531
id cpaid type
1 2 1
2 3 1
3 3 0mysql:SELECT t1.cpaid,t2.count1 FROM (SELECT cpaid FROM mr_cpaspreadinfo_20160531 GROUP BY cpaid) as t1
LEFT JOIN (SELECT cpaid,COUNT(*) as count1 FROM mr_cpaspreadinfo_20160531 WHERE type =1) as t2 ON t1.cpaid=t2.cpaid错误结果:cpaid count1
2 2
3 null
我想得到的正确结果: cpaid count1
2 1
3 1
LEFT JOIN (SELECT cpaid,COUNT(*) as count1 FROM mr_cpaspreadinfo_20160531 WHERE type =1) as t2 ON t1.cpaid=t2.cpaid
t2.count1
FROM ( SELECT cpaid
FROM mr_cpaspreadinfo_20160531
GROUP BY cpaid
) AS t1
LEFT JOIN ( SELECT cpaid ,
COUNT(*) AS count1
FROM mr_cpaspreadinfo_20160531
WHERE type = 1
group by cpaid
) AS t2 ON t1.cpaid = t2.cpaid
SELECT cpaid ,
COUNT(*) AS count1
FROM mr_cpaspreadinfo_20160531
WHERE type = 1
group by cpaid