(동영상)오라클(ORACLE) 집계함수와 DISTINCT, ALL
-----------------------------------------------
-- ORACLE 집계함수와 DISTINCT, ALL
-----------------------------------------------
-- 실습용 테이블 생성
drop table test;
create table test (
name varchar2(10),
age number(3)
);
insert into test values ('가길동', 10);
insert into test values ('나길동', 10);
insert into test values ('다길동', 10);
insert into test values ('라길동', 50);
commit;
-- 유일한 값 10, 50의 평균을 구한다. (10 + 50) / 2 => 30
select avg(distinct age) from test;
-- 전체 모든 값을 가지고 평균을 구한다. (10 + 10 + 10 + 50) / 4 => 20
select avg(all age) from test;
-- 별도 옵션없이 AVG를 사용하면 ALL의 의미
select avg(age) from test;
-- 유일한 값 10, 50의 합을 구한다. (10 + 50) => 60
select sum(distinct age) from test;
-- 전체값 10, 10, 10, 50의 합을 구한다. (10 + 10 + 10 + 50) => 80
select sum(all age) from test;
-- 별도 옵션없이 SUM를 사용하면 ALL의 의미
select sum(age) from test;