CASE WHEN 구문은 SELECT 절에 사용되며, 대표적으로 2가지 쓰임새가 있다.
1) 새로운 열을 생성하는 경우
SELECT CASE WHEN 기존열 = 조건 THEN '값1'
WHEN 기존열 = 조건2 THEN '값2'
...
(ELSE '값 N') END AS 새로운 열
- 예제
- ts 열에서 7글자만 select
- groupby된 ts를 count한 row들이 10000이 넘으면 ">= 10,000"이라는 값 생성
SELECT LEFT(ts, 7), CASE WHEN COUNT(1) >= 10000 THEN '>= 10,000' ELSE '< 10,000' END
FROM raw_data.session_timestamp
GROUP BY 1;
열을 집계하는 경우
- 집계함수와 함께 사용하며, 집계 열에 집계함수를 적용한다.
SELECT 집계함수((DISTINCT) CASE WHEN 기존열 = 조건 THEN 집계열 (ELSE 값) END) AS 새로운 열
'데이터 엔지니어링 > 실리콘밸리에서 날아온 데이터엔지니어링 스타터 키트' 카테고리의 다른 글
SQL 윈도우 함수 요약, 예제 (0) | 2023.04.01 |
---|---|
SQL 꿀팁(IS TRUE, NULLIF, COALESCE) (0) | 2023.04.01 |
2주차 강의 요약 (0) | 2023.04.01 |
REDSHIFT(AWS) (0) | 2023.03.27 |
데이터엔지니어, 데이터웨어하우스 (0) | 2023.03.27 |