我有一張跟蹤發送郵件的表格。這很簡單。在比較年度統計數據時填充缺少日期的MYSQL數據?
ID | DATETIME |電子郵件| SUBJECT | MESSAGE
我一直在收集數據好幾年。有些日子,我在桌子上沒有任何條目。
QUERY1:
SELECT COUNT(ID) FROM emails
WHERE DATE(datetime) >= 'XXXX-XX-XX'
AND DATE(datetime) is <= 'ZZZZ-ZZ-ZZ'
GROUP BY DATE(datetime)
我然後使用一些PHP獲得前一年兩個XXXX和YYYY和運行是一樣的第一第二查詢...
QUERY2:
SELECT COUNT(ID) from emails
WHERE DATE(datetime) >= 'XXXX-XX-XX'
AND DATE(datetime) is <= 'ZZZZ-ZZ-ZZ'
GROUP BY DATE(datetime)
我用一個圖表來比較我多少封電子郵件得到的日期範圍,然後我覆蓋我多少封電子郵件得到了相同的範圍僅一年之前。這是兩個查詢現在我繪製結果。
問題在於mysql在2011年沒有任何電子郵件,但在2012年有一些在同一天。
將結果結合起來並將結果繪製成圖表,結果表明結果偏離了結果,因爲我缺少去年當天的日期和0值,實際上使得我的所有值不再匹配。
2011-03-01 10 2012-03-01 4
2011-03-02 4 2012-03-02 2
2011-03-03 6 2012-03-04 1 <---- see where the two queries
end up diverging? (I had nothing
logged for 2012-03-03 so naturally
it was not in the results.
有沒有一種辦法可以讓MySQL輸出我需要包括其中值出現在一年,但不是另一個或者如果沒有值出現在任何一年(尚需日期和0),所以我的圖表日期數據作品?
我似乎無法弄清楚如何做到這一點...
謝謝!
您是否在查詢中嘗試過'between'子句? '從日期(日期時間)'XXXX-XX-XX'和'ZZZZ-ZZ-ZZ'按日期(日期時間)組合的電子郵件中選擇計數(ID)' – hjpotter92 2012-04-14 19:36:58