본문 바로가기

Database/MySQL

[DB문법] 집계함수, group by, grouping, rollup

 

* 집계함수 & null값 

 - count (*) : 테이블의 행 수를 반환 (Null값 포함)

 - count (column) : 지정 column의 Null이 아닌 값의 수를 집계 (Null값 제외) 

 - SUM, AVG : Null이 아닌 값들만 집계 (Null값 제외)

 


 

* grouping 

group by 절과 함께 사용되어 특정 행이 원래의 데이터 그룹에 속하는지,  => 0을 반환

아니면 그룹화 연산자( rollup, cube, grouping set  )에 의해 생성된 요약 행인지 구별하는 데 사용.  => 1을 반환


* rollup 

group by column1, column2 ... with rollup

group by rollup ( column1, column2 ..)

 

=> column1 column2 를 기준으로 그룹화하고, 

테이블 내에서 column1 소계, column2 소계, 전체 총계를 계산.

(그룹화 및 소계는 column1 기준으로 처리된 이후 column2 기준으로 처리된다. 순서대로 처리. )