Проблема в том, что у вас есть столбцы в списке после SELECT
, которые не появляются в выражении GROUP BY
и к ним не применяется агрегатная функция.MySQL, в отличие от большинства других СУБД, допускает это в более старых версиях (или с некоторыми настройками), но результаты, скорее всего, будут мусором.
Исправьте это, включив столбцы в выражение GROUP BY
или применивагрегатная функция на них.Например:
SELECT max(`employee_id`),
`weekday`
FROM `calendar`
WHERE `employee_id` = 1
OR `employee_id` IS NULL
GROUP BY `weekday`;
Обратите внимание на агрегатную функцию max()
в employee_id
.