n1ro°
RU

Ошибки · Решение

Oracle ORA-00979: выражение отсутствует в GROUP BY

Группированный результат не содержит однозначного значения для выражения из SELECT, HAVING или ORDER BY.

Редакция N1RO · Проверено

Короткий ответ

ORA-00979 означает, что выражение используется после группировки, но не входит в GROUP BY, не является aggregate function и не является допустимой константой.

Что означает ошибка

Группированный результат не содержит однозначного значения для выражения из SELECT, HAVING или ORDER BY.

Возможные причины

  • В SELECT добавили обычную колонку, но забыли добавить её в GROUP BY.
  • ORDER BY ссылается на негруппированное выражение.
  • В выражении используется функция/формула, не совпадающая с группирующим выражением.

Что проверить

  • Сравните каждое неагрегатное выражение SELECT с GROUP BY.
  • Отдельно проверьте HAVING и ORDER BY, которые обрабатываются после группировки.
  • Убедитесь, что выражения совпадают логически, а не только отдельными колонками.

Безопасные шаги

  1. Добавьте выражение в GROUP BY, если оно определяет группу.
  2. Если требуется одно значение на группу, явно выберите подходящий aggregate.
  3. Не используйте случайное MIN/MAX только чтобы подавить ORA-00979 без корректного бизнес-смысла.

Только безопасные обратимые действия. Опасные шаги — только по официальной инструкции и с пониманием рисков.

Когда нужен сервис

  • Если агрегатный запрос стал падать после изменения отчёта, владелец отчёта должен подтвердить правильную гранулярность результата.

Похожие ошибки

  • /errors/oracle-ora-00001/
  • /errors/oracle-ora-00054/
  • /errors/oracle-ora-00904/

Что учитывать

Точная причина зависит от версии ПО/прошивки, полного текста ошибки и контекста. Официальная инструкция имеет приоритет.

Официальный источник

Расшифровка сверена с официальными страницами поддержки из источников ниже. Редакция N1RO не диагностировала ваш конкретный случай.