[SQL Plus] GROUP BY, HAVING, 그룹 함수 - min, max, sum, avg, count(*)
1. 그룹 함수
min(필드명) -> 최소값
max(필드명) -> 최대값
sum(필드명) -> 합계
avg(필드명) -> 평균
count(*) or count(필드명) -> 필드에 들어가 있는 개수
SQL> select COUNT(*),trunc(AVG(sal)),MAX(sal),MIN(sal),SUM(sal)
2 from emp;
결과>
COUNT(*) TRUNC(AVG(SAL)) MAX(SAL) MIN(SAL) SUM(SAL)
---------- --------------- ---------- ---------- ----------
14 2073 5000 800 29025
2. GROUP BY
형식) select 필드명, 그룹함수 from 테이블명 where 조건식
GROUP BY 그룹지어줄_필드명;
SQL> select ename,count(*) from emp where sal>=3000
GROUP BY ename;
결과>
ENAME COUNT(*)
---------- ----------
FORD 1
SCOTT 1
KING 1
3. HAVING
형식) select 필드명 from 테이블명 where 조건식
group by 필드명 HAVING 그룹에_관한_조건식 order by 정렬조건;
SQL> select deptno,sum(sal) "급여 합계" from emp
group by deptno HAVING count(*)>=4;
결과>
DEPTNO 급여 합계
---------- ----------
30 9400
20 10875