728x90
728x90
집계함수
NULL값은 집계하지 않는다.
| 함수 | 설명 |
| MAX | 최대값 |
| MIN | 최소값 |
| SUM | 합계 |
| AVG | 평균 |
| COUNT | 개수 |
Oracle의 EMP 테이블로 사용해보자. 혹시 없다면 해당 링크에서 데이터를 추가하기 바란다.
SELECT MAX(SAL) FROM EMP;
SELECT MIN(SAL) FROM EMP;
SELECT SUM(SAL) FROM EMP;
SELECT TRUNCATE(AVG(SAL), 2) FROM EMP;
SELECT COUNT(COMM) FROM EMP;
>> 5000 / 800 / 29025 / 2073.21 / 4
그룹화(GROUP BY)
유형별 개수를 알고 싶을 때 데이터의 그룹화를 위해 사용하는 절이다.
WHERE절과 ORDER BY절 사이에 위치해야 한다.
사용하기
-- 기본
SELECT 컬럼
FROM 테이블
GROUP BY 그룹화할 컬럼;
-- 조건 처리 후 그룹화
SELECT 컬럼
FROM 테이블
WHERE 조건
GROUP BY 그룹화할 컬럼;
-- 그룹화 후 조건처리
SELECT 컬럼
FROM 테이블
GROUP BY 그룹화할 컬럼;
HAVING 조건
-- 조건 처리 후 그룹화 후 그룹화 한 데이터에 조건처리
SELECT 컬럼
FROM 테이블
WHERE 조건
GROUP BY 그룹화할 컬럼;
HAVING 조건
아래의 예시는 EMP테이블에서 부서번호를 기준으로 그룹화 하여 부서번호 별 사원수와 최대급여 최소급여 급여합계 평균급여의 값을 조회했으며 조회할 때의 컬럼명을 변경해 주었다.
SELECT DEPTNO 부서번호, COUNT(*) 사원수, MAX(SAL) 최대급여,
MIN(SAL) 최소급여, SUM(SAL) 급여합계, TRUNCATE(AVG(SAL), 2) 평균급여
FROM EMP
GROUP BY DEPTNO;

728x90
300x250