πŸ“Š 집계 ν•¨μˆ˜(Aggregate Function)λž€?

SQLμ—μ„œ **집계 ν•¨μˆ˜(Aggregate Function)**λŠ” μ—¬λŸ¬ ν–‰μ˜ 값을 ν•œ λ²ˆμ— κ³„μ‚°ν•˜μ—¬ ν•˜λ‚˜μ˜ 결과값을 λ§Œλ“€μ–΄μ£ΌλŠ” ν•¨μˆ˜μž…λ‹ˆλ‹€.

마치 μ—‘μ…€μ—μ„œ μ…€ λ²”μœ„λ₯Ό λ“œλž˜κ·Έν•΄μ„œ 평균을 κ΅¬ν•˜κ±°λ‚˜ 합계λ₯Ό κ΅¬ν•˜λŠ” 것과 λΉ„μŠ·ν•˜λ‹€κ³  μƒκ°ν•˜μ‹œλ©΄ λ©λ‹ˆλ‹€!


🧠 μ‹€μƒν™œ λΉ„μœ 


πŸ›  λŒ€ν‘œμ μΈ 집계 ν•¨μˆ˜ μ„€λͺ…

ν•¨μˆ˜ μ„€λͺ… 예제
COUNT() ν–‰μ˜ 개수λ₯Ό μ…ˆ COUNT(*) 전체 ν–‰ 수
SUM() 합계 계산 SUM(price) 총 가격
AVG() 평균 계산 AVG(score) 평균 점수
MAX() μ΅œλŒ€κ°’ MAX(age) 졜고 λ‚˜μ΄
MIN() μ΅œμ†Œκ°’ MIN(salary) μ΅œμ € κΈ‰μ—¬

πŸ§ͺ 예제: 학생 성적 ν…Œμ΄λΈ”

-- μ˜ˆμ‹œ ν…Œμ΄λΈ”: scores(student_id, subject, score)

-- 1. 전체 학생 수 κ΅¬ν•˜κΈ°
SELECT COUNT(*) FROM scores;

-- 2. μˆ˜ν•™ κ³Όλͺ© 점수 합계
SELECT SUM(score) FROM scores WHERE subject = 'math';

-- 3. μ˜μ–΄ κ³Όλͺ© 평균
SELECT AVG(score) FROM scores WHERE subject = 'english';

-- 4. 졜고 점수
SELECT MAX(score) FROM scores;

-- 5. μ΅œμ € 점수
SELECT MIN(score) FROM scores;


πŸ’‘ GROUP BY와 ν•¨κ»˜ μ‚¬μš©

집계 ν•¨μˆ˜λŠ” λ‹¨λ…μœΌλ‘œλ„ μ‚¬μš©ν•˜μ§€λ§Œ, GROUP BY와 ν•¨κ»˜ μ“°λ©΄ 그룹별 집계가 κ°€λŠ₯ν•©λ‹ˆλ‹€.

-- κ³Όλͺ©λ³„ 평균 점수
SELECT subject, AVG(score)
FROM scores
GROUP BY subject;

이 μΏΌλ¦¬λŠ” 각 κ³Όλͺ©λ³„λ‘œ 평균 점수λ₯Ό μ•Œλ €μ€λ‹ˆλ‹€.

즉, 집계 ν•¨μˆ˜ + GROUP BYλŠ” λΆ„λ₯˜ + μš”μ•½ μž‘μ—…μ— 맀우 μœ μš©ν•©λ‹ˆλ‹€!


🧾 μš”μ•½ μ •λ¦¬ν‘œ

ν•¨μˆ˜ κΈ°λŠ₯ μ˜ˆμ‹œ κ²°κ³Ό
COUNT(*) 전체 ν–‰ 수 계산 5
SUM(score) 점수의 총합 420
AVG(score) 평균 점수 84.0
MAX(score) 졜고 점수 100
MIN(score) μ΅œμ € 점수 60