我遇到了一些MYSQL問題。下面的代碼一直工作得很好,直到一兩週前,它開始將任何比2012年2月21日更新的任何內容分組在一起。第一個入口是2011年9月18日,所以它沒有運行一整年。MYSQL Group by weekofyear停止工作
SELECT dept, time, COUNT(*) AS freq
FROM prefix_table1 a
INNER JOIN prefix_table2 b b ON a.author = b.username
GROUP BY WEEKOFYEAR(DATE(FROM_UNIXTIME(time)))
ORDER BY time ASC
LIMIT 24
我想用這個查詢來實現的所有我想要檢索在每週發生的條目數。
有一次,我在PHP中處理UNIX郵票以獲取年份中的星期數,並將其後綴爲年,以允許統計數據運行超過12個月。
問題是 - 我哪裏出錯了?爲什麼它在2012年2月21日停止工作?
這不是有效的SQL(儘管它可能在MySQL的工作)。你不應該(被允許)在'WHERE'子句中使用,它是'SELECT'列表中定義的別名。 – 2012-03-06 23:44:36
不,不可能在'WHERE'子句中使用別名。我在'GROUP BY'中使用它,它在MySQL中有效。 – 2012-03-06 23:47:48
我現在無法測試,但只有在沒有(嚴格)ANSI MODE設置的情況下才能運行。也許你應該在你的答案中加上。 – 2012-03-06 23:49:45