작성완료

MySQL 그룹 함수
MySQL 그룹 함수에는 레코드 개수 조회를 위한 COUNT(), 최소값과 최대값을 반환하는 MIN()과 MAX(), 숫자 필드의 합계를 구하는 SUM(), 평균을 계산하는 AVG()가 포함된다. GROUP BY 절은 레코드를 그룹화하여 결과 집합의 크기를 줄이며, HAVING 절은 그룹화된 결과에 조건을 설정할 수 있게 해준다.
레코드 개수 조회
COUNT()함수는 선택된 필드에서 특정 조건을 만족하는 레코드의 총 개수를 반환한다.- 조건을 만족하는 레코드가 없다면
0을 반환한다. - 중복된 값을 제외 하려면 필드 이름 앞에
DISTINCT키워드를 사용하면 된다.
SELECT COUNT(*) AS CNT FROM tb_user;
| CNT |
|---|
| 63 |
최소값과 최대값
MIN()함수는 선택된 필드에 저장된 값 중 가장 작은 값을 반환MAX()함수는 선택된 필드에 저장된 값 중 가장 큰 값을 반환
SELECT MIN(AGE) AS MIN_AGE FROM tb_user;
| MIN_AGE |
|---|
| 16 |
SELECT MAX(AGE) AS MAX_AGE FROM tb_user;
| MAX_AGE |
|---|
| 32 |
합계
SUM()함수는 선택된 숫자 타입의 필드에 저장된 값의 총 합을 반환한다.
SELECT SUM(AGE) AS SUM_AGE FROM tb_user;
| SUM_AGE |
|---|
| 149 |
평균
AVG()함수는 선택된 숫자 타입의 필드에 저장된 값의 총 합을 반환한다.
SELECT AVG(AGE) AS AVG_AGE FROM tb_user;
| AVG_AGE |
|---|
| 24 |
GROUP BY** 절**
GROUP BY절은 선택된 레코드의 집합을 필드의 값이나 표현식에 의해 그룹화한 결과 집합을 반환한다.GROUP BY절은 하나의 그룹을 하나의 레코드로 반환 하므로, 결과 집합의 크기를 줄여주는 역할을 한다.GROUP BY절에 사용된 필드의 이름은 반드시SELECT문에도 같이 명시되어야 한다.
SELECT 필드이름, 그룹함수(필드이름)
FROM 테이블이름
[WHERE 조건]
GROUP BY 필드이름;
HAVING** 절**
HAVING절은SELECT문의WHERE절처럼GROUP BY절에 의해 반환되는 결과 집합의 조건을 설정할 수 있게 해준다.
SELECT 필드이름, 그룹함수(필드이름)
FROM 테이블이름
[WHERE 조건]
GROUP BY 필드이름
HAVING 조건;