반응형
ORA-00979 오류 설명
ORA-00979 오류는 GROUP BY 절을 사용할 때 집계되지 않은 열이 포함될 경우 발생합니다.
ORA-00979 오류 설명
이 오류는 SQL 쿼리에서 GROUP BY 절과 집계 함수(Aggregate Function)를 사용할 때 집계되지 않은 열이 포함되어 있을 때 발생합니다. GROUP BY 절에 포함되지 않은 열은 SELECT 목록에서 사용할 수 없습니다.
오류 원인
ORA-00979 오류의 주요 원인은 다음과 같습니다:
- GROUP BY 누락: SELECT 절에 GROUP BY 절에 포함되지 않은 열이 있을 때.
- 집계 함수 오류: SUM, COUNT, AVG와 같은 집계 함수 사용 시 적절한 GROUP BY 구성 누락.
- SQL 문법 실수: SELECT와 GROUP BY 절 간의 불일치.
해결 방법 및 명령어 예시
ORA-00979 오류를 해결하기 위해 다음 단계를 수행하세요:
1. GROUP BY 절 수정
쿼리의 SELECT 절에 있는 모든 열이 GROUP BY 절에 포함되었는지 확인합니다.
-- 문제 발생 예시
SELECT department_id, COUNT(employee_id)
FROM employees;
-- 해결 예시
SELECT department_id, COUNT(employee_id)
FROM employees
GROUP BY department_id;
2. 집계 함수 점검
집계되지 않은 열이 SELECT 절에 포함되지 않도록 수정합니다.
-- 문제 발생 예시
SELECT job_id, department_id, COUNT(employee_id)
FROM employees
GROUP BY job_id;
-- 해결 예시
SELECT job_id, department_id, COUNT(employee_id)
FROM employees
GROUP BY job_id, department_id;
3. 쿼리 구조 점검
SQL 문법에 맞게 쿼리를 재구성합니다. 필요한 열을 GROUP BY에 추가합니다.
-- 문제 발생 예시
SELECT manager_id, COUNT(employee_id)
FROM employees
GROUP BY department_id;
-- 해결 예시
SELECT manager_id, department_id, COUNT(employee_id)
FROM employees
GROUP BY manager_id, department_id;
간단 요약
- ORA-00979 오류는 GROUP BY 절과 SELECT 절의 열 불일치로 발생합니다.
- 해결 방법: SELECT 목록과 GROUP BY 절을 일치시키고 집계되지 않은 열을 제거합니다.
반응형
'SW > Database' 카테고리의 다른 글
ORA-04091: Table Is Mutating, Trigger/Function May Not See It / 원인과 해결 방법 (0) | 2024.12.01 |
---|---|
ORA-01400: Cannot Insert NULL into Column / 원인과 해결 방법 (0) | 2024.12.01 |
ORA-01033: Oracle Initialization or Shutdown in Progress / 원인과 해결 방법 (0) | 2024.12.01 |
ORA-01555: Snapshot Too Old / 원인과 해결 방법 (0) | 2024.11.30 |
ORA-01031: Insufficient Privileges / 원인과 해결 방법 (0) | 2024.11.30 |