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;
참고
반응형