목차
Oracle Group by/그룹함수
쉽게 생각하면 된다. GROUP BY 다음에 오는 컬럼으로 먼저 그룹핑을 한 다음 그룹함수를 실행
SELECT deptno,
job,
AVG(NVL(sal, 0)) "AVG_SAL"
FROM emp
GROUP BY deptno, job
ORDER BY deptno,job;
![[Oracle]GROUP BY + 그룹함수(SUM, COUNT 등) - undefined - Oracle Group by/그룹함수 [Oracle]GROUP BY + 그룹함수(SUM, COUNT 등) - undefined - Oracle Group by/그룹함수](https://blog.kakaocdn.net/dn/blEO82/btrRBK5q4Ry/ATHSytQ9agHYkiKrRkkRjK/img.png)
위의 쿼리는 emp테이블에서 부서번호(deptno)로 먼저 그룹핑, 그 다음 직업(job)으로 그룹핑을 한 후 SELECT절에 있는 그룹함수인 AVG() 함수를 실행한 결과를 나타낸다.
주의사항이 있는데 GROUP BY사용 시 SELECT절의 그룹함수를 제외한 컬럼은 반드시 GROUP BY 절에 나온 컬럼을 명시해야 한다. 안할 경우 아래처럼 에러 발생
![[Oracle]GROUP BY + 그룹함수(SUM, COUNT 등) - undefined - Oracle Group by/그룹함수 [Oracle]GROUP BY + 그룹함수(SUM, COUNT 등) - undefined - Oracle Group by/그룹함수](https://blog.kakaocdn.net/dn/veNYW/btrRyUWiXhk/JVT1wBK8gVXZyKmbTK2o3k/img.png)
HAVING 절
일반적으로 WHERE절에서는 집계함수를 사용할 수 없음,
HAVING절은 집계함수로 조건 비교 시 사용함,
HAVING절은 GROUP BY절과 함께 사용됨
보통 GROUP BY와 집계함수로 그룹핑한 결과를 출력한 다음 조건을 걸 때 사용됨
![[Oracle]GROUP BY + 그룹함수(SUM, COUNT 등) - undefined - HAVING 절 [Oracle]GROUP BY + 그룹함수(SUM, COUNT 등) - undefined - HAVING 절](https://blog.kakaocdn.net/dn/2KlxT/btrRCX4xoqZ/mwIVn21Z5kHEH6hcueF3ek/img.png)
![[Oracle]GROUP BY + 그룹함수(SUM, COUNT 등) - undefined - HAVING 절 [Oracle]GROUP BY + 그룹함수(SUM, COUNT 등) - undefined - HAVING 절](https://t1.daumcdn.net/keditor/emoticon/friends1/large/025.gif)
'IT > DataBase' 카테고리의 다른 글
[Cubrid]시스템 카탈로그(테이블, 컬럼 조회) (0) | 2022.11.22 |
---|---|
[MySQL/MariaDB] Column 'xx' in where clause is ambiguous 에러 (0) | 2022.11.22 |
[MySQL/MariaDB] merge(값이 있으면 update, 아니면 insert)(feat. ON DUPLICATE KEY UPDATE...) (0) | 2022.11.22 |
[MySQL/MariaDB] GROUP_CONCAT() 간단 사용법(feat. 문자열 붙이기) (0) | 2022.11.22 |
[Oracle] ORA-12547 TNS lost contact/UDE-12547 error.. (0) | 2022.11.19 |
댓글