SQL 기초집LESSON 10
집계 함수: COUNT, SUM, AVG, MIN, MAX
난이도입문 → 초급
예상 시간30분
선수지식이전 강의
10강. 집계 함수: COUNT, SUM, AVG, MIN, MAX
1. 이번 강의에서 해결할 문제
모든 행을 백엔드로 가져와 Python에서 합계를 내면 데이터베이스의 집계 기능을 활용하지 못합니다. 데이터가 있는 곳에서 요약값을 계산합니다.
2. 학습 목표
3. 핵심 개념
집계 함수는 여러 입력 행을 하나의 값으로 줄입니다. COUNT(*)는 행 수, COUNT(column)은 NULL이 아닌 값 수입니다. SUM과 AVG는 NULL을 제외하며 입력 행이 없을 때 NULL일 수 있습니다.
4. 단계별 SQL 예시
대상 테이블: games (읽기 전용)
파일 경로: C:\dev\game-ranking-db\sql\10-aggregates.sql
sql/10-aggregates.sql
SELECT
COUNT(*) AS game_count,
SUM(duration_seconds) AS total_seconds,
ROUND(AVG(duration_seconds), 1) AS average_seconds,
MIN(duration_seconds) AS shortest_seconds,
MAX(duration_seconds) AS longest_seconds
FROM games;
SELECT
COUNT(*) AS player_count,
COUNT(display_name) AS players_with_display_name
FROM players;
SELECT COALESCE(AVG(duration_seconds), 0) AS safe_average
FROM games
WHERE started_at >= '2099-01-01';
PowerShell · 실행 순서
sqlite3 -header -box .\data\game_ranking.db ".read .\sql\10-aggregates.sql"
5. 쿼리가 동작하는 이유
첫 SELECT는 games 전체를 하나의 그룹으로 취급합니다. COUNT 열 버전은 display_name NULL을 제외합니다. COALESCE는 첫 인자가 NULL이면 0을 선택해 API 응답을 안정적으로 만듭니다.
6. 자주 하는 실수와 안전한 해결법
7. 직접 실습
8. 이해 점검 질문 3개
9. 핵심 요약
MINI QUIZ
0 / 2집계 함수: COUNT, SUM, AVG, MIN, MAX 미니 퀴즈
선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.
LESSON STATUS
10강. 집계 함수: COUNT, SUM, AVG, MIN, MAX 미완료 상태학습을 마쳤나요?
직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.