我想在以下查詢中按date1和date2之間的每分鐘進行分組。還應該顯示0值。所以應該顯示日期之間的每一分鐘。問題是這些日期在表中不存在。如何在一個時間範圍內按分鐘分組,並在MySQL中顯示0個值?
SELECT
click.date as 'date',
COUNT(*)
FROM click
INNER JOIN short_url surl ON click.short_url_id = surl.id
INNER JOIN article_surl ON article_surl.article_id = 3
WHERE click.date BETWEEN (?Date1:'2011-04-24 13:33:00') AND (?Date2:'2011-04-24 15:33:00')
GROUP BY DATE_FORMAT(click.date, '%Y-%m-%d %H:%i:00');
我認爲唯一的方法是做一個臨時表?這是什麼性能命中?加入日期也不太好,因爲click.date在日期時間中也可能有毫秒。所以應該使用DateFormat? 也許這對我的應用程序邏輯更好,閱讀數組並使用0值填寫缺失的日期。