多个计数合而为一 table 无意中对行中的列求和

Multiple counts in one table UNINTENTIONALLY summing columns in rows

我正在尝试计算休息期间每天的点击次数,以便全部显示在一个 table 中。

SELECT module, COUNT( * ) 
FROM mdl_log AS l
WHERE (FROM_UNIXTIME( l.`time` ) BETWEEN  '2014-12-16 00:00:00' AND '2014-12-17 00:00:00')
GROUP BY module

给我一天(第 16 天)所需要的东西

module  Count(*)
admin   11
assign  1
course  20
outcome 2
user    3

但是当我尝试在同一个 table 中获取多天时,它会给我每一行中的列的总和。

SELECT module 

 ,(SELECT COUNT( * ) 
FROM mdl_log as l
WHERE (FROM_UNIXTIME( l.`time` ) BETWEEN  '2014-12-12 00:00:00' AND '2014-12-13 00:00:00')
) AS "12/12/2014"

,(SELECT COUNT( * ) 
FROM mdl_log AS l
WHERE (FROM_UNIXTIME( l.`time` ) BETWEEN  '2014-12-16 00:00:00' AND '2014-12-17 00:00:00')
) AS "12/16/14"

FROM mdl_log 
group by module 

这个...

module 12/12/14  12/16/14
admin      1    37
assign     1    37
calendar   1    37
course     1    37
forum      1    37
grade      1    37
hsuforum   1    37
library    1    37
login      1    37
lti        1    37
message    1    37
outcome    1    37
question   1    37
quiz       1    37
role       1    37
url        1    37
user       1    37
webservice  1   37
workshop    1   37

你能给我一些关于如何得到它的建议吗? 例如

module  12/12/14  12/16/14
admin   1         11
assign  0         1
user    0         3

等等

count 函数中应用日期标准:

SELECT module, 
COUNT(IF(FROM_UNIXTIME( l.`time` ) BETWEEN  '2014-12-12 00:00:00' AND '2014-12-13 00:00:00', 1, NULL) AS "12/12/2014",
COUNT(IF(FROM_UNIXTIME( l.`time` ) BETWEEN  '2014-12-16 00:00:00' AND '2014-12-17 00:00:00', 1, NULL) AS "12/16/2014"
FROM mdl_log 
group by module