[MySQL] 1-2. 데이터 조회 - 집계함수(MAX, MIN, AVG, COUNT, SUM...)

반응형

 

 

집계함수


데이터의 통계결과를 산출할 때 사용하는 집계 함수를 사용해본다. 우선 age라는 컬럼을 추가해주고, 10부터 50까지를 배분하였다.

 

etc-image-0

 

집계함수에는 MAX, MIN, AVG, COUNT, SUM 등이 있다. 엑셀에서와 같이 최댓값, 최솟값, 평균, 집계, 합계 등을 나타낸다. SELECT절에서 컬럼을 선택할 때 사용하며, 아래와 같은 형식이다.


SELECT MAX(컬럼명) AS '별칭' FROM 테이블명 WHERE 조건

 

 

 

email을 가진 user 테이블 속 레코드의 수를 세어보았다. 별칭은 '인원' 으로 한다. email은 기본키이기 때문에, 모든 레코드가 반드시 가지고 있어야 하는 속성이다.

 

etc-image-1
총 인원인 5가 나온다.

 

SELECT절에서 컬럼을 선택할 때, DISTINCT를 입력하면 해당 컬럼의 각 레코드에 있는 값들 중에서, 중복 데이터를 제거한 결과를 도출한다. 1111이라는 password는 두 개의 레코드가 가지고 있는 값이지만, DISTINCT를 사용하면 중복을 제거하여 1111이 하나만 출력된다. 

 

etc-image-2

 

DISTINCT로 출력한 컬럼을 집계 함수를 이용하여 통계를 내는 것도 가능하다. 위에서 알아낸 1111,3333,4444,5555를 합하도록 SUM을 주었다.

etc-image-3

 

ORDER BY 컬럼명 ASC(또는 DESC)LIMIT 레코드개수 를 입력하면, 출력되는 레코드의 개수를 제한시킬 수 있다.

오름차순으로 정렬한 age에서 상위 2등까지만을 출력하도록 LIMIT 2를 주어보았다.

etc-image-4

 

SELECT절에는 여러개의 컬럼을 줄 수 있으므로, 여러 집계함수의 값을 한번에 보는 것도 가능하다. 

etc-image-5

반응형