Skip to main content
Puri는 SQL의 강력한 집계 함수를 타입 안전하게 사용할 수 있습니다. 이 문서는 COUNT, SUM, AVG, MAX, MIN과 GROUP BY, HAVING을 설명합니다.

집계 함수 개요

COUNT

레코드 개수 세기 Puri.count()

SUM/AVG

합계와 평균 계산 Puri.sum(), Puri.avg()

MAX/MIN

최대값과 최소값 찾기 Puri.max(), Puri.min()

GROUP BY

그룹별로 집계하기 groupBy(), having()

COUNT - 개수 세기

기본 COUNT

Puri.count()COUNT(*)를 생성합니다. NULL을 포함한 모든 행을 셉니다. Puri.count("column")은 해당 컬럼이 NULL이 아닌 행만 셉니다.

COUNT with GROUP BY

SUM - 합계

숫자 컬럼의 합계를 계산합니다.

SUM with GROUP BY

AVG - 평균

숫자 컬럼의 평균을 계산합니다.

MAX / MIN - 최대값 / 최소값

최대값

최소값

MAX/MIN with GROUP BY

GROUP BY - 그룹화

데이터를 특정 컬럼 기준으로 그룹화하여 집계합니다.

단일 컬럼 GROUP BY

여러 컬럼 GROUP BY

GROUP BY 규칙: - SELECT에 있는 집계 함수가 아닌 모든 컬럼은 GROUP BY에 있어야 합니다 - GROUP BY에 없는 컬럼은 SELECT할 수 없습니다 (집계 함수 제외)

GROUP BY with JOIN

HAVING - 집계 결과 필터링

HAVING은 GROUP BY 후 집계 결과를 필터링합니다.

기본 HAVING

WHERE vs HAVING: - WHERE: GROUP BY 에 필터링 (개별 행 대상) - HAVING: GROUP BY 에 필터링 (집계 결과 대상)

HAVING with 집계 함수

WHERE + HAVING 조합

복합 집계 예제

부서별 상세 통계

프로젝트 진행 현황

월별 매출 분석

조건부 집계

CASE WHEN을 사용한 조건부 집계입니다.

상태별 카운트

구간별 집계

실전 예제

대시보드 통계

입사 연도별 통계

TOP 5 부서

성능 최적화

인덱스 활용

필요한 집계만 수행

WHERE로 먼저 필터링

타입 안전성

집계 함수의 결과 타입이 자동으로 추론됩니다.

다음 단계

Raw Queries

복잡한 SQL 직접 작성하기

Advanced Patterns

윈도우 함수와 고급 패턴

Joins

조인과 함께 집계하기

Type Safety

집계 함수의 타입 안전성