HAVING 조건


SELECT 절에 조건을 사용하여 결과를 제한할 때는 WHERE 절을 사용하지만 

그룹의 결과를 제한할 때는 HAVING절을 사용한다.



직급별로 그룹을 지은후, 직급별 평균 벌금이 10000원 이상인 결과를 표시한다.





직급별 지각 횟수를 최대값과 최소값으로 구하되 0번 이상 지각한 횟수만 출력.


GROUP BY 절


특정 칼럼 값을 기준으로 테이블을 그룹별로 나누기 위해 GROUP BY 절을 사용합니다..


형식

select  칼럼명, 그룹함수

from 테이블명

where 조건(연산자)

group by 칼럼명;



요정들을 rank그룹으로 나누어 벌금을 낸 직급마다 총합과 평균을 만들어 보았습니다.



이번에는 직급마다 최소 급액과 최대금액을 GROUP BY 절을 만들어 사용했습니다.



그룹함수에 대해 알아보자


  • SUM : 누적 합계를 반환한다.

  • AVG : 그룹의 평균을 반환한다.

  • MAX :그룹의 최댓값을 반환한다.

  • MIN : 그룹의 최솟값을 반환한다.

  • COUNT : 그룹의 총 개수를 반환한다.


요정들의 지각 횟수와 직급, 지각비를 모아둔 테이블입니다.

SUM함수
-SUM 함수는 해당 칼럼 값들에 대한 총 합을 구하는 함수이다.
 이때 해당 칼럼 값이 NULL인 것은 제외하고 계산한다.





AVG함수


-AVG함수는 해당 칼럼 값들에 대한 평균을 구하는 함수이다.

 이때 해당 칼럼 값이 NULL인 것은 제외하고 계산한다.





최댓값을 구하는 MAX, 최솟값을 구하는 MIN함수

-지정한 칼럼 값들 중에서 최댓값을 구하는 함수가 MAX이고, 최솟값을 구하는 함수가 MIN이다.





ROW 개수를 구하는 COUNT 함수


COUNT 함수는 테이블에서 조건을 만족하는 행의 개수를 반환하는 함수이다.

COUNT 함수에 특정 칼럼을 기술하면 해당 칼럼 값을 갖고 있는 ROW의 개수를 계산하여 되돌린다.


다음은 지각을 해본사람의 수를 구하는 예제 입니다.


COUNT함수는 NULL값에 대해 개수를 세지 않는다. 만일 카운트 함수에 COUNT(*) 처럼 *를 적용하면

테이블의 전체 로우 수를 구하게 된다.







+ Recent posts