4
我想要计算上个月每天发生的数量事件,但在没有发现事件时还包括计数为零。那可能吗?如何在用MySQL GROUP BY表达式计数时包含零
这里是我从...开始
SELECT COUNT(*) AS count,
DATE(usage_time_local) AS d
FROM usages
WHERE user_id=136
AND DATE(usage_time_local) >= DATE('2011-04-24')
AND DATE(usage_time_local) <= DATE('2011-05-24')
GROUP BY DATE(usage_time_local);
UPDATE:给出了答案,我通过初始化一个循环,然后在细节填充实现的代码解决方案。
$dailyCount = array();
for($i=1; $i<=30; $i++) {
$day = date('Y-m-d',(time()-($i*24*60*60)));
$dailyCount[$day] = 0;
}
foreach($statement as $row) {
$dailyCount[$row['d']] = $row['count'];
}
我看到一篇很棒的文章,有人用一个函数的代码来快速返回一个没有任何循环的范围内的一组日期。搜索它并找不到它。这很复杂,所以如果性能不是问题,你可以使用一个循环来产生你想要的。 – Kendrick 2011-05-24 20:44:36