我的选择:
SELECT DISTINCT
(SELECT COUNT(*)
FROM t_table
WHERE year(date) BETWEEN '2013' AND '2013' AND month(date) BETWEEN '1' AND '12' AND date!=cad_em) as total1,
(SELECT COUNT(*)
FROM t_table
WHERE year(date) BETWEEN '2013' AND '2013' AND month(date) BETWEEN '1' AND '12' AND date=cad_em ) as total2
FROM t_table
GROUP BY date
返回:
total1 | total2
1 4
但是我想返回日期 示例:
date | total1 | total2
2013-10 7 8
2013-11 1 4
2013-12 2 5
我怎样才能对我的示例显示相同的响应?
谢谢!!
最佳答案
您可以使用条件求和来简化事情。另外,我不确定你的 where 条件是否有意义,除非这些是参数 -
select
date,
sum( if(date = cad_em, 0, 1) ) as total1,
sum( if(date = cad_em, 1, 0) ) as total2
from
t_table
where year(date) = 2013 and month(date) between 1 and 12
group by date
关于mysql - 选择多个计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19826527/