프로그래밍 정리/Oracle

Oracle 기본정리 - 수학 함수6(sum, avg, count)

Wooni0477 2019. 11. 29. 12:53
반응형

Oracle 기본정리 - 수학 함수7(sum, avg, count)


--합, 평균, 카운터 구하기

select sum(sal),avg(sal),count(sal),count(*) from emp;



--평균구하기 방법 2가지

select sum(comm),count(*),count(comm) from emp;

--avg(comm)           ----┐ 서로 같은 뜻이다(평균구하기)
--sum(comm)/count(comm)---┘


--최소, 최대, 평균 구하기


select avg(comm),max(comm),min(comm) from emp;


--distinct 중복제거

select count(DISTINCT job) from emp;


--문제1 부서가30이고, comm 값이 있는사람 찾기

select count(comm) as count from emp where deptno=30;













--실제로 테이블만들어서 연습해보자-

create table sungjuck
(
    hak number(3),
    ban number(3),
    hackno number(3),
    name varchar2(20),
    kor number(3)
);

insert into sungjuck values(1,1,1,'hong',50);
insert into sungjuck values(1,1,2,'hong1',30);
insert into sungjuck values(1,1,3,'hong2',40);
insert into sungjuck values(1,2,4,'hong3',50);
insert into sungjuck values(1,2,1,'hong4',60);
insert into sungjuck values(1,2,2,'hong5',70);
insert into sungjuck values(1,2,3,'hong6',80);
insert into sungjuck values(1,3,4,'hong7',90);
insert into sungjuck values(2,3,5,'hong8',10);
insert into sungjuck values(2,3,1,'hong9',24);
insert into sungjuck values(2,3,2,'hong10',53);
insert into sungjuck values(2,3,3,'hong44',60);


--sungjuck table 평균

select avg(kor) from sungjuck;



--group by 사용법

--selelct A, B, function(A or B) form table group by A, B


--예제1 : 학년별 평균

select avg(kor) from sungjuck group by hak;


--예제2 : 반 별 성적 평균

select ban,avg(kor) from sungjuck group by ban;


--예제3 : 학년 반 별 성적 평균

select hak,ban,avg(kor) from sungjuck group by hak,ban;


--예제4 : 학년 반 별 성적 평균 오름차순

select hak,ban,avg(kor) from sungjuck group by hak,ban order by hak,ban;








반응형