[SQL] 집계 함수 COUNT, AVG, MAX, MIN, SUM

오도원공육사·2021년 10월 14일
0

SQL

목록 보기
2/15
  • AS 키워드는 테이블 또는 필드의 이름을 지을 때 사용한다. 생략가능하다.

1. COUNT(): 수량계산

-- 테이블에 남아있는 컬럼 수 조회
SELECT COUNT(*) AS 컬럼수 FROM TABLE_NAME;

-- 테이블에 FILED_NAME 필드에 값이 존재하는 레코드 수 조회
SELECT COUNT(FILED_NAME) AS 레코드수 FROM TABLE_NAME;
  • COUNT에서 *로 조회하면 NULL값을 포함하여 집계한다.
  • COUNT(FILED_NAME)으로 조회하면 NULL은 제외하고 조회한다.
  • 중복을 제외할려면 DISTINCT 키워드를 사용한다.
--  테이블에서 중복을 제외하고 이름 수 조회
SELECT COUNT(DISTINCT NAME) AS 유일한이름수 FROM TABLE_NAME;

2. AVG(): 평균

-- 테이블의 평균나이 조회
SELECT AVG(AGE) AS 평균나이 FROM TABLE_NAME;

-- 테이블의 수량(QT)의 전체 평균 조회
SELECT AVG(QT) AS 평균수량 FROM TABLE_NAME;

3. MAX(): 최댓값

  • 집계 함수의 결과에 해당하는 레코드를 조회할 때는 서브쿼리를 사용한다.
-- 테이블의 최고령 조회
SELECT MAX(AGE) AS 최고령 FROM TABLE_NAME;

-- 테이블에서 최고령을 가진 레코드 조회
SELECT * FROM TABLE_NAME
WHERE AGE = (SELECT MAX(AGE) FROM TABLE_NAME);

-- 테이블의 최대 수량(QT) 조회
SELECT MAX(QT) AS 최대수량 FROM TABLE_NAME;

-- 테이블에서 최대 수량을 가진 레코드 조회
SELECT * FROM TABLE_NAME
WHERE QT = (SELECT MAX(QT) FROM TABLE_NAME);

4. MIN(): 최솟값

-- 테이블의 최연소 나이 조회
SELECT MIN(AGE) AS 최연소 FROM TABLE_NAME;

-- 테이블의 최연소 레코드 조회
SELECT * FROM TABLE_NAME
WHERE AGE = (SELECT MIN(AGE) FROM TABLE_NAME);

-- 테이블의 최저가 조회
SELECT MIN(PRICE) AS 최저가 FROM TABLE_NAME;

-- 테이블의 최저가 레코드 조회
SELECT * FROM TABLE_NAME
WHERE PRICE = (SELECT MIN(PRICE) FROM TABLE_NAME);

5. SUM(): 합계

참고.

Sum sql for data in multiple columns and across rows with Total & Percentage

-- 테이블의 총 나이합계 조회
SELECT SUM(AGE) AS 나이합계 FROM TABLE_NAME;

-- 테이블의 공급금액(AM)과 부가세(VAT)를 합한 총금액 조회
SELECT SUM(AM + VAT) AS 총금액 FROM TABLE_NAME;
profile
잘 먹고 잘살기

0개의 댓글