이전 2-1에서 살펴봤던 Select구문 관련 함수들은 '단일 함수'로 column의 field 하나당 하나의 결과가 나오는 함수들이다. 오늘 배울 그룹 함수의 경우 하나의 column의 여러 field 값을 가지고 하나의 결과값을 만들어 낸다.
그룹 함수
select 구문에는 다음과 같은 그룹 함수가 존재한다.
Function | Description |
COUNT(expr) | non-NULL인 row의 숫자 반환 |
COUNT(Distinct espr, [expr...]) | non-NULL인 중복되지 않은 row의 숫자 반환 |
COUNT(*) | row의 숫자 반환 |
AVG(expr) | expr의 평균값 반환 |
MIN(expr) | expr의 최소값 반환 |
MAX(expr) | expr의 최대값 반환 |
SUM(expr) | expr의 합계 반환 |
GROUP_CONCAT(expr) | 그룹에서 concatenated한 문자 반환 |
VARIANCE(expr) | expr의 분산 반환 |
STDDEV(expr) | expr의 표준 편차 반환 |
Count
count 함수는 해당 column값이 Null이 아닌 행의 개수를 세어준다.
만약 모든 행의 개수를 얻고 싶다면 아래 식을 사용하면 된다.
- Ex) select count(*) from employee;
select count((Column_Name)) from (Table_Name)
Avg, Sum
원하는 column의 평균 혹은 합을 구하고 싶으면 AVG, SUM 함수를 사용할 수 있다.
- Ex) select avg(salary), sum(salary) from employee where deptno = 30;
select avg((Column_Name)) from (Table_Name) where (condition);
select sum((Column_Name)) from (Table_Name) where (condition);
Groupby
group by 절을 사용하면 임의의 column값을 기준으로 그룹 함수를 적용할 수 있다.
- Ex) select deptno, avg(salary), sum(salary) from employee group by deptno;
select (Group Functions and Columns) from (Table_Name) group by (Column_Name);
'DB > MySQL' 카테고리의 다른 글
3. DDL (Create, Alter, Drop) (0) | 2022.10.31 |
---|---|
2-3. DML(Insert, Update, Delete) (0) | 2022.10.31 |
2-1. DML (Select, 단일 함수) (0) | 2022.10.27 |
1-2. MySQL (Table) (0) | 2022.10.26 |
1-1. MySQL (DB, User) (0) | 2022.10.26 |