반응형
안녕하세요 토스트데브입니다.
이번 글에서는 SQL의 집계함수와 Group by에 대해 알아보도록 할게요!
데이터를 요약하고 그룹별로 분석하는 방법
✅ 집계 함수란?
집계 함수(Aggregate Functions)는 여러 행의 데이터를 모아서 하나의 결과값으로 요약해주는 SQL 함수입니다.
예: “회원 수가 몇 명이지?”, “총 판매 금액은 얼마야?”
📌 주요 집계 함수 목록
함수 | 설명 | 예시 |
COUNT() | 행의 개수 세기 | COUNT(*) → 총 행 수 |
SUM() | 합계 구하기 | SUM(price) |
AVG() | 평균 구하기 | AVG(score) |
MAX() | 최대값 구하기 | MAX(salary) |
MIN() | 최소값 구하기 | MIN(age) |
📌 예시
SELECT COUNT(*) FROM users;
SELECT AVG(score) FROM exams;
SELECT SUM(amount) FROM orders;
✅ GROUP BY란?
GROUP BY는 같은 값을 가진 데이터를 묶어서(grouping) 그룹별로 집계 함수의 결과를 구할 때 사용합니다.
📌 기본 문법
SELECT 그룹기준컬럼, 집계함수
FROM 테이블명
GROUP BY 그룹기준컬럼;
🎯 예제 1: 부서별 직원 수
SELECT department, COUNT(*) AS 직원수
FROM employees
GROUP BY department;
➡️ 부서별로 몇 명의 직원이 있는지 확인
🎯 예제 2: 카테고리별 평균 가격
SELECT category, AVG(price) AS 평균가격
FROM products
GROUP BY category;
➡️ 각 상품 카테고리별 평균 가격 구하기
🎯 예제 3: 조건이 있는 그룹화 (WHERE + GROUP BY)
SELECT region, SUM(sales) AS 총매출
FROM stores
WHERE year = 2025
GROUP BY region;
➡️ 2025년 기준으로 지역별 총 매출
🎯 예제 4: 그룹 조건 필터링 (HAVING)
SELECT department, AVG(salary) AS 평균급여
FROM employees
GROUP BY department
HAVING AVG(salary) > 3000;
➡️ 평균 급여가 3000 이상인 부서만 조회
📌 HAVING은 GROUP BY 이후의 조건 필터링에 사용됩니다.
📝 마무리
- GROUP BY와 집계 함수는 대량의 데이터를 요약하고 분석하는 데 매우 유용합니다.
- 실무에서는 매출 분석, 사용자 통계, 부서별 성과 등 보고서 자동화의 핵심이죠!
- HAVING은 WHERE 대신 그룹화된 결과를 필터링할 때 사용된다는 점, 꼭 기억하세요.
#SQL #SQL기초 #GROUPBY #집계함수 #데이터분석 #데이터요약 #SQL문법 #쿼리작성법 #DBMS #웹개발 #MySQL #SQL강의 #SQL예제 #HAVING
반응형
'Database > SQL' 카테고리의 다른 글
[SQL] #07 SQL JOIN 완전 정복! INNER부터 LEFT, RIGHT까지 한눈에 (0) | 2025.07.29 |
---|---|
[SQL] #06 SQL 데이터 삽입(INSERT), 수정(UPDATE), 삭제(DELETE) (0) | 2025.07.28 |
[SQL] #04 SQL 조건문 완벽정리! WHERE, AND, OR, NOT 쉽게 배우기! (0) | 2025.07.18 |
[SQL] #03 SELCT 문 완벽 정리! 데이터 조회의 모든 것! (0) | 2025.07.17 |
[SQL] #02 SQL이란? 데이터베이스와 대화하는 언어! (0) | 2025.07.15 |