Jak rozwiązać błąd ONLY_FULL_GROUP_BY
Zapewne niedawno przeszedłeś na MySQL 5.7, który domyślnie jest bardziej restrykcyjny jeśli chodzi o grupowanie. Zapewne skoro tu trafiłeś dostałeś błąd podobny do poniższego:
Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'users_groups.group_id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
Rozwiązanie jest następujące. Zalogowani do MySQL (czy to konsolą, phpMyAdmin, Workbeanch czy innym programem) wpisujemy
SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
Problem tego rozwiązania jest taki, że to działa tylko chwilowo. Jeśli chcesz wyłączyć to na stałe to edytuj plik: /etc/my.cnf i w nim wyszukaj (lub dodaj jeśli nie ma):
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
Na koniec zrestartuj serwer:
service mysql restart