개발자 항해

그룹함수 본문

DB/MySQL

그룹함수

리치Y 2022. 7. 25. 22:07
  • 그룹함수

 

 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)를 쓰면 중복갯수도 포함되어 제대로된 값이 나오지않는다.