저자 : 아사이 아츠시
출판 : 한빛미디어
* COUNT 이외의 집계함수
- 합계값 조회 : SUM ( [ALL | DISTINCT] 집합 )
- 평균값 조회 : AVG ( [ALL | DISTINCT] 집합 )
- 최솟값 조회 : MIN ( [ALL | DISTINCT] 집합 )
- 최댓값 조회 : MAX ( [ALL | DISTINCT] 집합 )
1. SUM으로 합계 구하기
- 집합의 합계를 구할 수 있음. SUM 집계함수에 지정되는 집합은 수치형만 가능. 문자열형이나 날짜시간형의 집합에서 합계를 구할 수 X.
- SUM함수도 COUNT와 마찬가지로 NULL값을 무시. NULL값을 제거한 뒤에 합계를 냄.
2. AVG로 평균 내기
- SUM집계함수로 합한 값을 개수로 나누면 평균값을 구할 수 있음. but 굳이 SUM,COUNT함수를 이용하지 않아도 AVG라는 집계함수를 통해 평균값을 구할 수 있음. SUM(quantity) / COUNT(quantity) = AVG(quantity)
- 인수 집합은 수치형만 가능, NULL값은 무시,(NULL값을 제거한 뒤 평균값 계산)
- 만약 NULL을 0으로 간주해서 평균을 내고 싶다면 CASE를 사용해 NULL을 0으로 변환한 뒤에 AVG함수로 계산.
( => 합계값은 변하지않지만, NULL인 행까지 행의 갯수에 포함되어 계산됨 )
SELECT AVG(CASE WHEN quantity IS NULL THEN 0 ELSE quantity END) AS avgnull0 FROM sample51;
3. MIN,MAX로 최솟값,최댓값 구하기
- MIN함수로 최솟값, MAX함수로 최댓값을 구할 수 있음.
- 이들 함수는 문자열형과 날짜시간형에도 사용 가능. NULL값은 무시함.
SELECT MIN(quantity), MAX(quantity), MIN(name), MAX(name) FROM sample51;
'Study > DB' 카테고리의 다른 글
[SQL 첫걸음] 5장.집계와 서브쿼리 - 23.서브쿼리 (0) | 2018.09.05 |
---|---|
[SQL 첫걸음] 5장.집계와 서브쿼리 - 22.그룹화(GROUP BY) (0) | 2018.09.04 |
[SQL 첫걸음] 5장.집계와 서브쿼리 - 20.행 갯수 구하기(COUNT) (0) | 2018.08.31 |
[SQL 첫걸음] 4장.데이터의 추가,삭제,갱신- 19.물리삭제와 논리삭제 (0) | 2018.08.30 |
[SQL 첫걸음] 4장.데이터의 추가,삭제,갱신- 18.데이터 갱신하기(UPDATE) (0) | 2018.08.30 |