我在MySQL中,下表...SQL計數行
CREATE TABLE `visits` (
`id` int(10) unsigned NOT NULL auto_increment,
`visit` datetime NOT NULL default '0000-00-00 00:00:00',
`bulletin` int(11) NOT NULL default '0',
PRIMARY KEY (`id`)
)
其中,「遊」是一個訪問發生的時間,而「公告」是當時請求的文章。
我想知道什麼時候很受我的用戶,所以我有以下查詢......
SELECT
count(*) as c,
Date_format (visit, '%l%p, %e %b %Y') as e
FROM
`visits`
WHERE 1
AND
date(visit) > date(now() - interval 2 day)
group by e
order by visit desc
它返回......
c e
4 12PM, 27 Oct 2009
9 11AM, 27 Oct 2009
5 10AM, 27 Oct 2009
2 9AM, 27 Oct 2009
3 4PM, 26 Oct 2009
6 3PM, 26 Oct 2009
16 2PM, 26 Oct 2009
到目前爲止好。
但是,如何讓查詢返回「0」計數和缺少時間的時間?例如,我想結果看起來像...
c e
4 12PM, 27 Oct 2009
9 11AM, 27 Oct 2009
5 10AM, 27 Oct 2009
2 9AM, 27 Oct 2009
0 8AM, 27 Oct 2009
0 7AM, 27 Oct 2009
0 6AM, 27 Oct 2009
0 5AM, 27 Oct 2009
0 4AM, 27 Oct 2009
0 3AM, 27 Oct 2009
0 2AM, 27 Oct 2009
0 1AM, 27 Oct 2009
0 12am, 27 Oct 2009
0 11pm, 26 Oct 2009
0 10pm, 26 Oct 2009
0 9pm, 26 Oct 2009
0 8pm, 26 Oct 2009
0 7pm, 26 Oct 2009
0 6pm, 26 Oct 2009
0 5pm, 26 Oct 2009
3 4PM, 26 Oct 2009
6 3PM, 26 Oct 2009
16 2PM, 26 Oct 2009
我可以在輸出代碼時,我打印結果做傻事,但我想查詢爲我提供了,如果可能的話。
http://stackoverflow.com/questions/434571/mysql-query-getting-missing-records-when -using-group-by –