SW/Database / / 2024. 4. 5. 13:41

ORA-00979: Not a Group By Expression / 원인과 해결방법

반응형


ORA-00979 에러는 SQL 문장에 GROUP BY 절이나 집계 함수 없이 집계 함수를 사용하는 경우에 발생합니다.

 

 

ORA-00979

 

에러 원인:

 

GROUP BY 절 누락: 집계 함수를 사용할 때 GROUP BY 절이 누락되면 발생합니다.
집계 함수 오용: GROUP BY 절 없이 집계 함수를 사용하는 경우에도 발생합니다.

 

 

해결 방법


GROUP BY 절 추가: 집계 함수를 사용하는 경우에는 GROUP BY 절을 추가하여 사용하는 필드를 명시해야 합니다.
집계 함수 수정: 집계 함수를 사용하지 않는 경우에는 SQL 문장을 수정하여 집계 함수를 사용하지 않도록 변경합니다.

 

 

 

예시 테이블


다음은 ORA-00979 에러가 발생하는 예시 테이블입니다

department_id salary
1 3000
1 2500
2 4000
2 3500

 

예시 SQL 쿼리
다음은 ORA-00979 에러가 발생하는 예시 SQL 문장입니다

 

SELECT department_id, AVG(salary)
FROM employees;

 

정상적인 SQL 쿼리 입니다.

SELECT department_id, AVG(salary)
FROM employees
GROUP BY department_id;

 

 

결론

 

ORA-00979 에러는 SQL 문장에 GROUP BY 절이나 집계 함수 없이 집계 함수를 사용하는 경우에 발생합니다. 이를 해결하기 위해서는 GROUP BY 절을 추가하거나 집계 함수를 사용하지 않도록 수정해야 합니다. 데이터베이스를 사용할 때 이러한 점에 주의하여 SQL 문장을 작성해야 합니다.

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유