対応するレコードが0の日付を処理するには、通常、カレンダーテーブルを使用して参加します。
たとえば、calendar_date
という1つのフィールドを持つテーブルを作成します 1st Jan 2000
からのすべての日付を入力します 31st Dec 2070
へ 、またはレポートの目的に適したその他の範囲。
次に、次のようなものを使用します...
SELECT
calendar.calendar_date,
COUNT(*)
FROM
calendar
LEFT JOIN
yourData
ON yourData.timeStamp >= calendar.calendar_date
AND yourData.timeStamp < calendar.calendar_date + 1
WHERE
calendar.calendar_date >= '01 Jan 2012'
AND calendar.calendar_date < '04 Jan 2012'
GROUP BY
calendar.calendar_date
このテーブルには、銀行の休日のフラグ付け、週と月の開始など、多くの追加の用途があります。フラグとインデックスを慎重に使用することで、それから多くを得ることができます。