반응형

본 글은 책 "칼퇴족 김대리는 알고 나만 모르는 SQL 기초 편"의 정리 내용입니다.

  • 집단(Population)에 대해 요약할 때는 대표성을 갖는 수치가 필요
  • EX) 합계, 평균, 오차(최대값과 최소값 간의 거리, 표준편차, 분산)

SUM 함수 


SUM 함수를 이용해 열의 합계를 계산하는 쿼리문

MAX 함수 


MAX 함수를 이용해 열에서 최대값을 계산하는 예

MIN 함수 


MIN 함수를 이용해 열에서 최소값을 계산하는 예

STD 함수


STD 함수 이용해서 열의 표준편차를 계산하는 예

  • SQLite에서는 지원하지 않는 함수
  • MySQL에서는 STD함수와 STDDEV 모두 같은 기능으로 사용 가능

AVG 함수


AVG 함수 이용해서 열의 평균을 계산하는 예

 

  • 위의 예는 NULL값을 제외한 3개의 행에 대한 평균값을 계산한 것
  • NULL값을 0으로 치환하기 위해서는?? -> COALESCE 함수 사용
SELECT AVG(COALESCE(수학점수, 0)) AS 수학점수_평균 FROM 점수테이블;

 

예제 (테이블: STUD_SCORE)


더보기
CREATE TABLE STUD_SCORE
(
STUDENT_ID INT NOT NULL,
MATH_SCORE INT NOT NULL,
ENG_SCORE INT NULL,
PHIL_SCORE INT NULL,
MUSIC_SCORE INT NULL,
PRIMARY KEY('STUDENT_ID')
);

INSERT INTO STUD_SCORE
VALUES 
('0123511', 89, 78, 45, 90),
('0255475', 88, 90, NULL, 87),
('9921100', 87, NULL, NULL, 98),
('9732453', 69, 98, 78, 78),
('0578981', 59, 90, 89, NULL),
('0768789', 94, 80, 87, 99),
('9824579', 90, 90, 78, 87),
('0565789', 58, 64, 72, NULL);

 

Q1. 수학 점수의 총 합계

SELECT SUM(MATH_SCORE) AS MATH_TOTAL FROM STUD_SCORE;
MATH_TOTAL
634

 

Q2. 음악 점수의 평균 (NULL값 행 제외)

SELECT AVG(MUSIC_SCORE) AS MUSIC_AVG FROM STUD_SCORE;
MATH_AVG
89.83333

 

Q3. 음악 점수의 평균 (NULL값 행 포함)

SELECT AVG(COALESCE(MUSIC_SCORE, 0)) AS MUSIC_AVG FROM STUD_SCORE;
MATH_AVG
67.375

 

반응형

'SQL' 카테고리의 다른 글

[SQL] 그룹화된 데이터의 필터링 (HAVING)  (0) 2022.02.17
[SQL] 데이터의 그룹화 (GROUP BY)  (0) 2022.02.16
[SQL] 행의 수 세기 (COUNT)  (0) 2022.02.14
[SQL] 조건문 적용하기 (CASE WHEN)  (0) 2022.02.14
[SQL] 숫자 함수  (0) 2022.02.12

+ Recent posts