https://2stndard.tistory.com/notice/203
[발간예정][EPL과 유튜브로 배우는 DuckDB] 실습 코드와 데이터
EPL과 유튜브 데이터로 배우는 DuckDB에서 사용되는 실습 데이터와 코드를 제공합니다. EPL_DATA&samplefile.zip : 책에서 사용하는 영국 프리미어리그 데이터 셋과 샘플로 사용하는 파일espn.duckdb.zip : 책
2stndard.tistory.com
[DuckDB] 데이터 분석 생산성을 높여주는 SQL 핵심 문법 정리
최근 데이터 분석 및 OLAP 엔진으로 각광받고 있는 DuckDB는 기존 표준 SQL의 번거로움을 해결해주는 강력한 'Syntactic Sugar(편의 문법)'를 제공합니다.
1. PIVOT ON and USING
- DuckDB:
PIVOT 테이블이름 ON 열이름 USING 집계함수 - 용도: ON에 지정된 열의 고유값을 열로 사용하는 피보팅
PIVOT cities
ON year
USING sum(population);
2. PIVOT ON, USING, and GROUP BY
- DuckDB:
PIVOT 테이블이름 ON 열이름 USING 집계함수 GROUP BY 열 - 용도: PIVOT ON ... USING 집계함수의 행에 대한 그룹화.
PIVOT cities
ON year
USING sum(population)
GROUP BY country;
3. 필터를 사용하는 PIVOT
- DuckDB: `PIVOT 테이블이름 ON 열이름 IN (열리스트) USING 집계함수1
- 용도: 피보팅되어 생성되는 열의 리스트를 설정하여 열 개수를 제한.
PIVOT cities
ON year IN (2000, 2010)
USING sum(population)
GROUP BY country;
4. 다중 열의 피보팅
- DuckDB:
PIVOT 테이블이름 ON 열이름1,열이름2,... USING 집계함수 - 용도: 여러 열을 각각 별도의 열로 피보팅하는데 열의 고유한 값의 모든 조합 열을 생성.
PIVOT cities
ON country, name
USING sum(population);
PIVOT cities
ON country || '_' || name
USING sum(population);
5. 다중 집계함수의 피보팅
- DuckDB:
PIVOT 테이블이름 ON 열이름. USING 집계함수1, 집계함수2, ... - 용도: USING 절에 여러개 집계함수 사용, 뒤에 밑줄(_)이 붙어 표현됨
PIVOT cities
ON year
USING sum(population) AS total, max(population) AS max
GROUP BY country;
'EPL과 유튜브 데이터로 배우는 DuckDB' 카테고리의 다른 글
| DuckDB의 오브젝트 스토리지 캐싱(Object-Store Caching) (0) | 2026.05.13 |
|---|---|
| DuckDB와 다른 DB 비교해보기 (0) | 2026.05.09 |
| SQL 효율을 높이는 DuckDB 전용 SQL - Part 3 (0) | 2026.05.05 |
| SQL 효율을 높이는 DuckDB 전용 SQL - Part 2 (0) | 2026.05.04 |
| SQL 효율을 높이는 DuckDB 전용 SQL - Part 1 (0) | 2026.05.03 |
댓글