728x90
반응형
평균을 구할때 조심해야 함.
NULL 을 NVL 을 사용하던지 해야함.
NVL(COMM, 0)
-- 아래 예제에서 보면 a1과 a2의 결과가 동일하고, a3는 결과가 다른다. sum, avg, count는 null 을 제외하고 계산한다.
(단, count(*) 는 모두 계산함)
SELECT round(avg(comm)) a1,
round(sum(comm)/count(comm)) a2,
round(sum(comm)/count(*)) a3
FROM emp;
그래서 올바른 쿼리는 아래와 같이 nvl 을 사용해주는 것이다.
SELECT round(avg(nvl(comm, 0))) FROM emp;
728x90
반응형
'DB > ORACLE' 카테고리의 다른 글
문제 : emp 테이블의 부서별 sal 의 합을 구해라 (0) | 2022.12.21 |
---|---|
Dbeaver 설정 (0) | 2022.12.21 |
RECORD (0) | 2022.12.20 |
반복문 (0) | 2022.12.20 |
PL-SQL 샘플 002 - 조건문 사용법 (0) | 2022.12.19 |
댓글