DBMS/Oracle 10g

그룹함수

본클라쓰 2008. 12. 21. 11:18

 

그룹당 하나의 결과를 주는 작용을 한다.



그룹함수 사용법 

> SELECT column, 그룹함수(column)

> FROM table

> [WHERE] //GROUP BY를 사용할때는 사용하지 않음(ERROR발생) 

> [GROUP BY] column

> [HAVING] 조건 (WHERE대신 사용, 그룹에 대한 검색조건을 담)

> [ORDER BY] column

 

 

종 류  

 함  수

 설  명 

 AVG(컬럼/표현)  평균값을 계산, NULL값은 무시
 COUNT(컬럼/표현)  열의수(테이블안의)를 반환
 MAX(컬럼/표현)  최대값을 반환(문자열일 경우 맨 마지막문자)
 MIN(컬럼/표현)  최소값을 반환(문자열일 경우 맨 처음문자)
 STDDEV(컬럼/표현0  표준편차값을 반환 
 SUM(컬럼/표현)  합을 반환
 VARIANCE(컬럼/표현)  분산값을 반환 

 


 

GROUP BY (그룹에대한표현)

 

그룹함수만 사용하면 테이블 안에서 하나의 그룹에 대한 정보만 얻을 수 있습니다. 테이블을 작은 그룹으로 나누어서 그룹함수를 통한 값을 얻을 때 사용하는게 GROUP BY 입니다. 그룹에 대한 표현은 (GROUP BY 다음에 오는 표현) 컬럼에만 쓸 수 있습니다. 다른 표현을 쓸 수 없습니다.

 

GROUP BY 다음에 오는 컬럼에서 컬럼 값에 따라 그룹함수를 적용합니다. 컬럼 값이 다르면 다른 그룹이 되는 것입니다.

 

※ 주 의 - 그룹함수를 사용할 때는 WHERE 조건을 사용할 수 없습니다. 만약 조건을 주고 싶다면 HAVING 키워드를 사용하면 됩니다. 사용법은 WHERE조건을 사용하는 방법도 동일합니다.