我遇到了一些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