Hi, ich setze in einem Web-Projekt folgenden SQL-Befehl ein:
SELECT *
FROM
(
SELECT `t_Posts`.`ID`,
COUNT(CASE WHEN `t_Votes`.`UpDown` > 0 THEN 1 END) -
COUNT(CASE WHEN `t_Votes`.`UpDown` = 0 THEN 1 END) AS `Votes`
FROM `t_Posts`
LEFT JOIN `t_Votes`
ON `t_Posts`.`ID` = `t_Votes`.`PostID`
WHERE `t_Posts`.`ThreadID` = 2 AND `t_Posts`.`ID` <> 1
GROUP BY `t_Votes`.`PostID`
) vot
ORDER BY `vot`.`Votes` DESC, `vot`.`ID` DESC
Unter PHP 5 hat noch alles super funktioniert. Aber seit ich PHP 7 einsetze funktioniert es nicht mehr. Allerdings wurde bei dem PHP-Update auch die MySQL-Version aktualisiert, aktuell nutze ich 5.7.13, welche vorher installiert war weiß ich nicht mehr.
Hier die Fehlermeldung:
#1055 - Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'myqa.t_Posts.ID' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
Vielleicht nutze ich irgendeine Funktion, die früher Deprecated war und jetzt rausgeflogen ist. Ich habe keine Ahnung.