글 목록으로 돌아가기

MariaDB

GROUP BY와 집계

MariaDB GROUP BY, HAVING, 집계 함수, 윈도우 함수 정리

Dohyeon Kim
Dohyeon Kim 2026년 7월 13일 · 1분 읽기
MariaDB AutoEverSW

1) 집계 함수


함수 설명
COUNT(컬럼) 행 수
SUM(컬럼) 합계
AVG(컬럼) 평균
MAX(컬럼) 최대값
MIN(컬럼) 최소값

2) GROUP BY


특정 컬럼 기준으로 그룹화하여 집계

SELECT department, AVG(salary)
FROM employees
GROUP BY department;

3) HAVING


GROUP BY의 결과에 조건 적용 (WHERE는 그룹화 전, HAVING은 후)

SELECT department, AVG(salary) AS avg_sal
FROM employees
GROUP BY department
HAVING avg_sal >= 50000;

4) 윈도우 함수


ROW_NUMBER / RANK / DENSE_RANK

SELECT name, salary,
    ROW_NUMBER() OVER (ORDER BY salary DESC) AS row_num,
    RANK() OVER (ORDER BY salary DESC) AS rank,
    DENSE_RANK() OVER (ORDER BY salary DESC) AS dense_rank
FROM employees;

PARTITION BY

SELECT department, name, salary,
    ROW_NUMBER() OVER (PARTITION BY department ORDER BY salary DESC) AS dept_rank
FROM employees;

댓글