我有一條SQL語句可以選擇一系列值,然後按年/月/日對它們進行分組。這似乎工作正常。MySQL組按年分組結果發生變化
真正令人困惑的是,如果我在第二天運行這個SQL,結果數字會改變。我認爲總的來說,這些數字是正確的,但在不同日期運行時,它們會改變一兩次。
例如。
select Date_format(startDate, "%Y-%m-%d") as Date, count(*) as Online
from
`promotion` p, `subscription` s
where
p.`uid` = s.`uid` and
s.`productId` = "groupproduct"
startDate < now()
GROUP BY YEAR(startDate), MONTH(startDate), DAYOFMONTH(startDate);
結果上日X上一天X + 1
2012-12-25 265
2012-12-26 264
2012-12-27 231
2012-12-28 187
2012-12-29 171
2012-12-30 8933
2012-12-31 3114
通知
2012-12-25 265
2012-12-26 264
2012-12-27 232
2012-12-28 187
2012-12-29 171
2012-12-30 8935
2012-12-31 3117
結果如何在2012年12月27日和二○一二年十二月三十日結果是關閉一。我錯過了什麼?我認爲使用按功能分組有一個計數錯誤,但我不知道是什麼。
注意: 這個SQL每天早上都由cronjob運行。不是手動的,所以我不認爲用戶錯誤是在這裏(除了創建聲明)。
編輯: 對不起,在打印的SQL有一個錯誤(我稍微改變了它爲公衆)。它應該startDate每一個地方。問題依然存在。
也許一個歷史條目的開始日期錯誤的一年!?!? – Strawberry
爲什麼不向我們提供表格和樣品數據。 :)如果您正在使用開始日期然後按組分組,或按產品日期分組。 – bonCodigo