GROUP BY절
- 특정 칼럼을 기준으로 그룹화한다.
- SELECT절에서는 그룹화한 칼럼명 또는 집계함수가 입력이 가능하다.
숫자 집계함수
# | 함수 | 설명 |
---|
1 | COUNT( * ) | NULL을 포함한 전체 행의 수를 반환 |
2 | COUNT ( 칼럼 ) | 칼럼 안에서 NULL을 제외한 행의 수를 반환 |
3 | COUNT ( DISTINCT 칼럼 ) | 칼럼 안에서 중복을 제외한 행의 수를 반환 |
4 | SUM ( 칼럼 ) | 칼럼 안에서 NULL을 제외한 합계값을 반환 |
5 | AVG ( 칼럼 ) | 칼럼 안에서 NULL을 제외한 평균값을 반환 |
6 | MAX ( 칼럼 ) | 칼럼 내의 최댓값을 반환 |
7 | MIN ( 칼럼 ) | 칼럼 내의 최소값을 반환 |
3. SELECT와 같이 사용해보기
[돈까스맛집정보]
가게이름 | 위치 | 가격 | 스타일 | 호불호 |
---|
A돈까스 | 익산 | 8000 | 일식카츠 | 불호 |
B돈까스 | 전주 | 11000 | 일식카츠 | 호 |
C규카츠 | 홍대 | 13000 | 규카츠 | 호 |
D돈까스 | 광주 | NULL | 경양식카츠 | 호 |
E돈까스 | 구로 | 10000 | 경양식카츠 | 불호 |
F돈까스 | 강남 | 15000 | 일식카츠 | 호 |
G돈까스 | 수원 | 13000 | 경양식카츠 | NULL |
1. 테이블에 존재하는 전체 행 수 ( COUNT )
SELECT COUNT(*) AS 종류수
FROM 돈까스맛집정보
SELECT COUNT(가격) AS 가격들
FROM 돈까스맛집정보
SELECT COUNT(DISTINCT 가격) AS 가격들
FROM 돈까스맛집정보
2. 스타일에 따른 가격의 합계 (NULL값 제외)
SELECT 스타일, SUM(가격) AS 합계
FROM 돈까스맛집정보
GROUP BY 스타일
스타일 | 합계 |
---|
경양식카츠 | 23000 |
알식카츠 | 34000 |
규카츠 | 13000 |
3. 스타일에 따른 가격의 평균 (NULL값 제외 / 포함)
SELECT 스타일, AVG(가격) AS 합계
FROM 돈까스맛집정보
GROUP BY 스타일
스타일 | 합계 |
---|
경양식카츠 | 11500 |
알식카츠 | 17000 |
규카츠 | 13000 |
SELECT 스타일, AVG(가격) AS 합계1,
SUM(가격)/COUNT(*) AS 합계2
FROM 돈까스맛집정보
GROUP BY 스타일
스타일 | 합계1 | 합계2 |
---|
경양식카츠 | 11500 | 7666 |
알식카츠 | 17000 | 17000 |
규카츠 | 13000 | 13000 |
4. 스타일에 따른 가격의 최댓값 / 최소값 ( MAX / MIN )
SELECT 스타일, MAX(가격) AS 최대값
FROM 돈까스맛집정보
GROUP BY 스타일
스타일 | 합계 |
---|
경양식카츠 | 13000 |
알식카츠 | 15000 |
규카츠 | 13000 |
SELECT 스타일, MIN(가격) AS 최대값
FROM 돈까스맛집정보
GROUP BY 스타일
스타일 | 합계 |
---|
경양식카츠 | 10000 |
알식카츠 | 8000 |
규카츠 | 13000 |