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