所以我只更新到最新的MySQL和我得到这个错误:更新MySQL中,遇到奇怪的 '的sql_mode = only_full_group_by' 加入错误后
Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'stats.playtime.date' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
我的表:
id int(255)
date datetime
我的查询:
SELECT DATE(date) + INTERVAL 1 DAY, COUNT(DISTINCT id)
FROM playtime
GROUP BY DATE(date)
它所做的就是告诉我,有多少用户第一次参加在某一特定日期,让我将这些数据显示在图表中。
我不确定这个查询有什么问题吗?我发现在这个新版本的MySQL中必须有新的语法规则,但我不确定如何使用这个查询来关注它们。有任何想法吗?
第二个例子导致了同样的问题:
表:
id int(11)
user varchar(255)
course varchar(255)
course_difficulty varchar(255)
time_taken int(255)
查询:
SELECT course, course_difficulty, time_taken
FROM minigame
WHERE user = 'abc'
GROUP BY course
ORDER BY time_taken LIMIT 50
@FirstOne我能,而不必做对我的测试和现场服务器(忽略上面提到的另一个问题)都运行此类型的查询。这是用于其他原因吗?或者只是为了允许查询运行的语法? – user3420034
'日期'不是保留字,恒星的想法,[可能不是](http://i.imgur.com/oUwa6hG.jpg) – Drew
'group by'子句中的'DESC'?你确定要使用'grup by'而不是'by order by'吗? – zajonc