Develope/교육

[Oracle] 3일차) 그룹함수

고로이 2018. 10. 2. 09:51
반응형

* 그룹 함수 종류


 AVG([DISTINCT|ALL]n)

 n의 평균값. null 값은 무시합니다.

 COUNT({*|[DISTINCT|ALL]expr}) 

 null 이 아닌 행 개수. *은 null도 포함

 MAX([DISTINCT|ALL]expr)

 expr의 최대값. null 값은 무시합니다.

 MIN([DISTINCT|ALL]expr)

 expr의 최소값. null 값은 무시합니다.

 STDDEV([DISTINCT|ALL]n)

 n의 표준 편차. null 값은 무시합니다.

 SUM([DISTINCT|ALL]n)

 n의 합계 값. null 값은 무시합니다.



- DISTINCT : 중복 제거

select count(*), count(job_id), count(distinct job_id)

  110        110                 19





-예시문제

manager_id 의 부하 사원 중 최저 급여를 받는 사원의 급여를 표시하는 보고서를 작성한다.

관리자가 알려지지 않은 사원은 제외한다. 또한 최저시급이 6000 이하인 그룹은 제외한다. 결과를 내림차순으로 정렬한다.



manager_id 별로  => GROUP BY manage_id

가장 작은 salary를 받는 사원을 출력하되 => SELECT min(salary)

관리자가 알려지지 않은 사원은 제외한다. => WHERE manager_id is not null

최저시급이 6000 이하는 제외하여라 => HAVING min(salary) > 6000

결과를 내림차순으로 정렬한다. => ORDER BY min(salary) DESC



반응형