所以我只更新到最新的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