SQL 그룹 함수인 MAX / MIN / COUNT의 관한 포스팅입니다
아래의 테이블을 이용해 설명하겠습니다
NAME | CLASS | SALARY |
철수 | A | 100 |
영희 | B | 200 |
훈이 | B | 400 |
정훈 | A | 300 |
현우 | A | 350 |
MAX, MIN
MAX( EXPR ) - EXPR중에서 최댓값을 반환하는 함수이다
MIN( EXPR ) - EXPR중에서 최솟값을 반환하는 함수이다
SELECT MAX(SALARY)
, MIN(SALARY)
FROM TABLE
- SALARY칼럼의 가장큰 값과 가장 작은 값을 출력해 달라는 쿼리이다
MAX( SALARY ) | MIN( SALARY ) |
400 | 100 |
각각 가장큰 값과 가장 작은 값인 400 / 100 이 출력되었다
MAX와 MIN 은 그룹 함수로서 GROUP BY 절을 이용해 그룹별로 최댓값/최솟값을 출력할 수 있다
SELECT CLASS
, MAX(SALARY)
, MIN(SALARY)
FROM TABLE
GROUP BY CLASS
- CLASS 별로 SALARY의 최댓값과 최솟값을 구하는 쿼리
CLASS | MAX(SALARY) | MIN(SALARY) |
A | 350 | 100 |
B | 400 | 200 |
A 클래스의 최대값 350 최소값 100 ROW / B클래스의 최대값 400 최소값 200 ROW 가 출력됨
COUNT
COUNT( EXPR ) - EXPR의 행의 개수를 반환한다 [ NULL값은 개수에 포함되지 않는다 ]
SELECT COUNT(SALARY)
FROM TABLE
- SALARY칼럼에 행의 개수를 출력한다
COUNT(SALARY) |
5 |
5개 ROW가 있고 NULL값은 없기 때문에 5가 출력이 되었다
COUNT함수는 그룹 함수로써 GROUP BY 절을 이용해 그룹별로 ROW의 개수를 출력할 수 있다
SELECT CLASS
, COUNT(SALARY)
FROM TABLE
- CLASS별로 SALARY칼럼에 행의 개수를 출력
CLASS | COUNT(SALARY) |
A | 3 |
B | 2 |
CLASS 가 A인 SALARY칼럼 ROW는 3개 / CLASS 가 B인 SALARY칼럼 ROW는 2개 출력되었다