ORA-00979: Выражение не входит в GROUP BY (not a GROUP BY expression)
OracleЧто это значит?
В списке SELECT вместе с агрегатной функцией (SUM, COUNT и т. д.) использован неагрегированный столбец, но он не добавлен в предложение GROUP BY. Oracle не знает, как группировать этот столбец.
Почему возникает?
Столбец есть в SELECT, но отсутствует в GROUP BY; выражения вне агрегатных функций отсутствуют в списке GROUP BY; несогласованность в HAVING или выражениях выборки.
Как исправить
Добавьте все неагрегированные столбцы в список GROUP BY: SELECT department, COUNT(*) FROM employee GROUP BY department; В качестве альтернативы также оберните этот столбец в агрегатную функцию (MAX, MIN) или перестройте группировку с помощью аналитической функции (OVER()).
Ещё по этой СУБД
- ORA-01400Невозможно вставить NULL в (столбец)
- ORA-02291Нарушено ограничение целостности — родительский ключ не найден
- ORA-02292Нарушено ограничение целостности — найдена дочерняя запись
- ORA-00918Столбец определён неоднозначно
- ORA-06550Строка/столбец PLS-...: ошибка компиляции PL/SQL
- ORA-04068Существующее состояние пакетов было сброшено
- ORA-01427Однострочный подзапрос возвращает более одной строки