-- 그룹 함수 : 통계 함수 / 여러 행 또는 테이블 전체의 행에 대해 함수가 적용
-- 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 |