Develop/CS

[DB] group function 에러

연로그 2022. 7. 3. 14:52
반응형

ORA-00934: 그룹 함수는 허가되지 않았습니다
ORA-00934: group function is not allowed here
MySQL Error 1111: Invalid use of group function

 

❓ 원인

  • 그룹 함수가 허용되지 않는 위치에서 그룹 함수 사용

 

그룹 함수란?

  • 👉 컬럼 값들을 특정 기준에 따라 그룹화하고 그룹별로 결과를 반환하는 함수
  • ex: COUNT, SUM, MAX, MIN, AVG, ....

 

예제

  • WHERE, GROUP BY 등에서 그룹 함수 사용하면 에러 발생
SELECT i.*
FROM items i, buy b
WHERE i.quantity > COUNT(b.id);

 

💡 해결

  • 그룹 함수를 사용 가능한 위치에서 사용하도록 쿼리 개선 (서브 쿼리 이용)
SELECT i.*
FROM items i
WHERE i.quantity > (SELECT COUNT(id) FROM buy);
SELECT i.*
FROM items i, (SELECT COUNT(id) AS count FROM buy) b
WHERE i.quantity > b.count;

참고

반응형