DBAtlas · Атлас эксплуатации баз данных

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()).

Открыть в DBAtlas →

Ещё по этой СУБД