Ошибки · Решение
Oracle ORA-00979: выражение отсутствует в GROUP BY
Группированный результат не содержит однозначного значения для выражения из SELECT, HAVING или ORDER BY.
Короткий ответ
ORA-00979 означает, что выражение используется после группировки, но не входит в GROUP BY, не является aggregate function и не является допустимой константой.
Что означает ошибка
Группированный результат не содержит однозначного значения для выражения из SELECT, HAVING или ORDER BY.
Возможные причины
- В SELECT добавили обычную колонку, но забыли добавить её в GROUP BY.
- ORDER BY ссылается на негруппированное выражение.
- В выражении используется функция/формула, не совпадающая с группирующим выражением.
Что проверить
- Сравните каждое неагрегатное выражение SELECT с GROUP BY.
- Отдельно проверьте HAVING и ORDER BY, которые обрабатываются после группировки.
- Убедитесь, что выражения совпадают логически, а не только отдельными колонками.
Безопасные шаги
- Добавьте выражение в GROUP BY, если оно определяет группу.
- Если требуется одно значение на группу, явно выберите подходящий aggregate.
- Не используйте случайное MIN/MAX только чтобы подавить ORA-00979 без корректного бизнес-смысла.
Только безопасные обратимые действия. Опасные шаги — только по официальной инструкции и с пониманием рисков.
Когда нужен сервис
- Если агрегатный запрос стал падать после изменения отчёта, владелец отчёта должен подтвердить правильную гранулярность результата.
Похожие ошибки
- /errors/oracle-ora-00001/
- /errors/oracle-ora-00054/
- /errors/oracle-ora-00904/
Что учитывать
Точная причина зависит от версии ПО/прошивки, полного текста ошибки и контекста. Официальная инструкция имеет приоритет.
Официальный источник
Расшифровка сверена с официальными страницами поддержки из источников ниже. Редакция N1RO не диагностировала ваш конкретный случай.