--- 단일행 함수와 그룹함수의 차이점
---- Column             함수             결과
----   1  ------------> |단| ---------->  a
----   2  ------------> |일| ---------->  b    : 단일행은 한행에 대한 결과값이 1개씩 매핑이 된다.
----   3  ------------> |행| ---------->  c
---------------------------------------------
----   1  ------------> |그| ---------->  a
----   2  ------------> |룹|                   : 그룹함수는 여러행이 그룹지어 하나의 결과 값이 나온다.
----   3  ------------> |함|                   : 그룹함수는 null이 있으면 null은 제외해 버린다.
----   4  ------------> |수|             
---------------------------------------------
select sum(sal),  -- 합계
    avg(sal),  -- 평균  sum(sal) / count(sal)
    max(sal),  -- 최대값
    min(sal),  -- 최저값
    count(sal) -- 행의갯수
from emp;

---- null이 포함되면 평균치 결과가 null 이 포함되어지지 않는 사람들만의 평균이 된다.
select sum(comm),  
    avg(comm), 
    max(comm), 
    min(comm), 
    count(comm) -- null이 포함되어 있으면 null을 제외하므로 제대로된 값이 나오지 않는다.
from emp;

select avg(comm), avg(nvl(comm,0)) -- null을 0으로 간주해야 제대로된 평균치가 계산된다.
from EMP;

select variance(sal), -- 분산 = 편차^2(편차의 제곱)
    stddev(sal),   -- 편차
    avg(sal)       -- 평균
from emp;

'Program... > Oracle' 카테고리의 다른 글

Oracle Having 절  (0) 2009.03.14
Oracle Group by 절  (0) 2009.03.14
Oracle rank 함수  (0) 2009.03.13
Oracle 변환형 함수  (0) 2009.03.13
Oracle 날짜형 함수  (0) 2009.03.13
Posted by Duritz

공지사항

Yesterday
Today
Total
03-02 23:27

달력

 « |  » 2025.3
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31