코딩두 2025. 5. 24. 17:36

집계 함수

1. 집계 함수의 개념

- DB 테이블의 여러 행으로부터 여러 행을 기반으로 연산된 결과값을 반환하는 함수

 

2. 집계 함수 종류

 

주요 집계 함수

1. SUM 함수

1) 개요 - 칼럼의 숫자형 데이터 저체 합계를 구하는 함수

- 특정 칼럼을 지정하고 특정 데이터를 기준으로 하여 합계를 구할 수 있음

- 특정 칼럼을 지정하고 특정 범위 지정 후 범위 내 합계를 구할 수 있음

 

2) 기본 쿼리

SELECT SUM(칼럼명) FROM 테이블명;

ex) 테이블에서 amount 칼럼의 합계를 구할 때

(1) 쿼리문

SELECT SUM(amount) FROM account;

(2) 실행 결과

 

3) 응용 쿼리 1

SELECT SUM(칼럼명) FROM 테이블명 WHERE 조건문;

ex) 테이블에서 type에서 '지출'의 값에 대하여 합계를 구하고자 할 때

(1) 쿼리문

SELECT SUM(amount) FROM account WHERE type = '지출';

(2) 실행 결과

 

4) 응용 쿼리 2

SELECT SUM(칼럼명) FROM 테이블명 WHERE 조건문 AND 추가 조건문;

ex) 5월 11일 ~ 5월 12일 사이 발생한 ' 지출' 합계를 구할 때

(1) 쿼리문

SELECT SUM(amount) FROM account

WHERE type = '지출' AND date >= '05-11' AND date <= '05-12';

(2) 실행 결과

 

2. AVG 함수

1) 개요 - 칼럼의 숫자형 데이터 전체 평균값을 구하는 함수

- 특정 칼럼을 지정하고 특정 데이터를 기준으로 하여 평균을 구할 수 있음

- 특정 칼럼을 지정하고 특정 범위 지정 후 범위 내 평균을 구할 수 있음

 

2) 기본 쿼리

SELECT AVG(칼럼명) FROM 테이블명;

ex) 테이블에서 1~3월 국어 점수(Korean 칼럼)의 평균을 구할 때

(1) 쿼리문

SELECT AVG(Korean) FROM hgdlab;

(2) 실행 결과

 

3) 응용 쿼리

SELECT AVG(칼럼명) FROM 테이블명 WHERE 조건문;

ex) 테이블에서 type에서 '지출'의 값에 대하여 평균을 구할 때

(1) 쿼리문

SELECT AVG(amount) FROM account WHERE type='지출';

(2) 실행 결과

 

3. COUNT 함수

1) 개요

- DB 특정 테이블에서 레코드가 몇 개인지 구하는 함수

- 특정 칼럼의 특정 범위 내 레코드 개수를 구할 수 있음

 

2) 기본 쿼리

SELECT COUNT(*) FROM 테이블명;

ex) account 테이블의 레코드 수를 확인하고자 할 경우

(1) 쿼리문

SELECT COUNT(*) FROM account;

(2) 실행 결과

 

2) 기본 쿼리

SELECT COUNT(*) FROM 테이블명 WHERE 조건문;

ex) 5월 11일 ~ 15일 사이 발생한 레코드의 개수를 구하고자 할 때

(1) 쿼리문

SELECT COUNT(*) FROM account

WHERE date >= '05-11' AND date <= '05-15';

(2) 실행 결과

 

 

4. MAX, MIN 함수

1) MAX 함수

- DB 테이블에서 숫자형 칼럼 데이터 중 최댓값을 구하는 함수

(1) 기본 쿼리

SELECT MAX(칼럼) FROM 테이블명;

(2) 응용 쿼리

SELECT MAX(칼럼) FROM 테이블명 WHERE 조건;

 

ex) amount 칼럼 값 중 최댓값 찾기

(1) 쿼리문

SELECT MAX(amount) FROM account;

(2) 실행 결과

 

ex) type 칼럼 데이터에서 '지출' 중 amount 최댓값 찾기

(1) 쿼리문

SELECT MAX(amount) FROM account WHERE type='지출'

(2) 실행 결과

 

2) MIN 함수

- DB 테이블에서 숫자형 칼럼 데이터 중 최솟값을 구하는 함수

(1) 기본 쿼리

SELECT MIN(칼럼) FROM 테이블명;

(2) 응용 쿼리

SLELECT MIN(칼럼) FORM 테이블명 WHERE 조건;

 

ex) amount 칼럼 중 최솟값 찾기

(1) 쿼리문

SELECT MIN(amount) FORM account;

(2) 실행 결과

 

ex) type 칼럼 데이터에서 '지출' 중 amount 최솟값 찾기

(1) 쿼리문

SELECT MIN(amount) FROM account WHERE type = '지출';

(2) 실행 결과

 

조건 함수

1. 조건 함수의 개념

- 특정 조건에 해당하는 경우 결과값을 출력하는 함수

 

2. 조건 함수의 형식

구조 - IF(조건, 참일 경우 결과, 거짓 경우 결과)

 

3. 조건 함수의 예

ex) amount가 100과 같거나 클 경우 '높은 금액'으로 표시하고 적을 경우 '낮은 금액'으로 표시할 경우

1) 쿼리문

SELECT IF(amount >= 100, '높은 금액', '낮은 금액'),

amount FROM account;

2) 실행 결과

 

ex) 전체 수입에서 지출을 차감하는 계산을 IF 함수로 구현할 경우

1) 쿼리문

SELECT SUM( IF(type = '수이', amount, 0)

- IF(type = '지출', amount, 0)) FROM account;

2) 실행 결과

 

GROUP BY절

1. GROUP BY절의 개념

- 특정 칼럼을 기준으로 집계 함수를 사용한 건수(COUNT), 합계(SUM), 평균(AVG) 등 결과에 대하여 그룹핑 하는 함수

- 칼럼 내용 중 같은 값을 하나의 그룹으로 처리함

 

2. GROUP BY 절의 형식

SELECT 기준칼럼, 집계함수(칼럼) FROM 테이블 GROUP BY 기준칼럼;

 

3. GROUP BY 적용 예시

ex) type 칼럼을 기준으로 수입, 지출의 합계를 구하고자 할 겨웅

1) 쿼리문

SELECT type, SUM(amount) FORM account GROUP BY type;

2) 실행 결과