Also habe ich gerade aktualisiert auf die neueste MySQL, und ich bekomme diese Fehlermeldung:Nach der Aktualisierung von MySQL, seltsamen Fehler immer JOIN von '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
Meine Tabelle:
id int(255)
date datetime
Meine Frage:
SELECT DATE(date) + INTERVAL 1 DAY, COUNT(DISTINCT id)
FROM playtime
GROUP BY DATE(date)
Alles, was es tut, ist mir sagen, wie viele Benutzer zuerst zu einem bestimmten Zeitpunkt verbunden, so dass ich Zeigen Sie diese Daten in einem Diagramm an.
ich nicht sicher genau das bin, was ist mit dieser Abfrage falsch? Ich habe gehört, dass es in dieser neuen Version von MySQL neue Syntaxregeln geben muss, aber ich bin mir nicht sicher, wie ich ihnen bei dieser Abfrage genau folgen soll. Irgendwelche Ideen?
Zweites Beispiel verursacht das gleiche Problem:
Tabelle:
id int(11)
user varchar(255)
course varchar(255)
course_difficulty varchar(255)
time_taken int(255)
Abfrage:
SELECT course, course_difficulty, time_taken
FROM minigame
WHERE user = 'abc'
GROUP BY course
ORDER BY time_taken LIMIT 50
@FirstOne Ich bin in der Lage, diese Art von Abfrage auszuführen, ohne dass auf meine beiden Test- und Live-Server (ohne Berücksichtigung die separate Ausgabe wie oben erwähnt) zu tun. Wird das aus anderen Gründen verwendet? Oder nur für die Syntax, damit die Abfrage ausgeführt werden kann? – user3420034
'date' ist kein reserviertes Wort, stellare Idee, [wahrscheinlich nicht] (http://i.imgur.com/oUwa6hG.jpg) – Drew
' DESC' in 'group by' Klausel? Sind Sie sicher, dass Sie 'grup by' und nicht' order by' verwenden möchten? – zajonc