개발자 항해
그룹함수 본문
- 그룹함수
1. 그룹함수란?
행그룹을 조작해서 하나의 결과값을 반환하는 함수
2. 그룹함수의 종류
min, max, sum, avg, count
3. 그룹함수의 특징
null값은 작업하지 않는다.
1) min, max : 모든 데이터타입에 사용가능하다.
사용 예제는 아래와 같다.
"min(날짜)" 는 가장 오래된 날짜이고 "max(날짜)"는 가장최근 날짜이다.
"min(이름)"을 하게 되면 오름차순중 제일 첫번째
"max(이름)"은 오름차순중 제일 마지막 이름을 알려준다.
2) sum, avg : 숫자 데이터에만 사용가능하다.
3) count 함수
① count(*) : null O, 중복값 O
② count(expr) : null X, 중복값 O
③ count(distinct exper) : null X, 중복값 X
- employees 테이블에서 전체 직원수를 출력하려면?
employee_id에 null 값이 없으므로 count(*)나 count(employee_id)나 값이 같다.
둘중 아무거나 써도 무방하다.
- employees테이블에서 커미션을 받는 사원의 수를 출력하려면?
이처럼 comission_pct는 null값이 표현되어 있으므로
아래와 같이 아스타(*)를 쓰게 되면 값이 달라지므로
null값을 포함하지 않게 cout(expr)로 써야한다.
- employees 테이블에서 사원들이 소속된 부서의 개수를 출력하려면?
사원들의 소속부서가 중복이 있으므로 distinct를 써서 구해야 한다.
그냥 count(expr)를 쓰면 중복갯수도 포함되어 제대로된 값이 나오지않는다.
'DB > MySQL' 카테고리의 다른 글
단일 행 함수 - 1. 문자함수 (0) | 2022.07.26 |
---|---|
Group by 절 (+ Having절) (0) | 2022.07.25 |
서브쿼리(subquery) - 2. 다중행 서브쿼리 (0) | 2022.07.22 |
서브쿼리(subquery) - 1. 단일행 서브쿼리 (0) | 2022.07.21 |
트랜잭션 ( Transaction ) (0) | 2022.07.20 |