-- 그룹 함수 : 통계 함수 / 여러 행 또는 테이블 전체의 행에 대해 함수가 적용


-- COUNT : 갯수 구하기

select count(empno) from empcopy;

select count(comm) from empcopy;

select count(ename) from empcopy;

select count(job) from empcopy;

select count(*) from empcopy;

select ename, count(hiredate) from emp; -- error :그룹함수는 그룹함수끼리만 사용 가능


-- 81년도에 입사한 사원수

select count(*) from emp where to_char(hiredate, 'yy')='81';

select count(*) from emp where hiredate like '81%';


-- MANAGER는 몇명인가?

select count(*) from emp where hiredate like '81%' and job='MANAGER';


-- MAX : 최대값

select max(sal) from emp;

select max(comm) from emp;


-- MIN : 최소값

select min(sal) from emp;

select min(comm) from emp;


-- 부서코드 20인 사원은 최대 급여와 최소 급여는 얼마인가?

select max(sal), min(sal) from emp where deptno=20;


-- SUM : 합계

-- 급여 총액

select sum(sal) from emp;


-- 보너스 총액

select sum(comm) from emp;


-- AVG : 평균

select avg(sal) from emp;

select round(avg(sal), 2) from emp;


-- 보너스 평균

select avg(comm) from emp;


-- null을 포함한 보너스 평균

select avg(nvl(comm, 0)) from emp;

select round(avg(nvl(comm, 0)), 2) from emp;


-- 부서코드가 20인 사원의 급여의 합과 평균을 구하라

select sum(sal), round(avg(sal), 2) from emp where deptno=20;


-- 담당업무가 SALESMAN인 사원중 부서코드가 30인 사원의 보너스의 합과 평균을 구하라

select sum(comm), round(avg(nvl(comm, 0)), 2) from emp where job='SALESMAN' and deptno=30;


-- STDDEV : 표준 편차

-- 급여에 대한 표준편차

select round(stddev(sal), 2) from emp;

'응용 SoftWare > Oracle' 카테고리의 다른 글

SEQUENCE  (0) 2017.01.04
GROUP BY절과 HAVING절  (0) 2017.01.03
변환 함수  (0) 2017.01.03
날짜 처리 함수  (0) 2017.01.02
General Function  (0) 2017.01.02
Posted by Hyun CHO
,