我想创建一个查询结果数据,如下所示:
但是当我插入 where
子句时,列 name
只是从列 m_ccode
中得出一些值:
问:如果插入 where
子句,如何保留所有 name
列值?
这里是工作 fiddle :
最佳答案
在 on 子句中使用 MONTH(t.date) = '10' AND YEAR(t.date) = '2018'
条件,如下所示
SELECT ccode.name,IFNULL(count(DISTINCT u.username),0) as total_active
,(count(DISTINCT u.username) - count(DISTINCT t.username)) as total_non_active
from m_ccode as ccode
left join m_user as u on u.ccode = ccode.id
left join t_safety_act t on t.username = u.username
and MONTH(t.date) = '10' AND YEAR(t.date) = '2018' group by ccode.id;
关于mysql - 使用 mysql group by 和 where by date 返回计数 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52817026/