Skills/SQL
[SQL] 14. IF와 같은 역할, CASE WHEN
Ssongs
2021. 8. 5. 13:56
반응형
기존에 있는 컬럼으로 조건에 따라 새로운 컬럼을 만들기도 함
조건에 따라 값 정해주기: CASE WHEN
CASE WHEN 조건1 THEN 결과1
WHEN 조건1 THEN 결과2
...
WHEN 조건N THEN 결과N ELSE 기본값 END
- ELSE 기본값
- 앞의 조건들에 모두 해당하지 않을 때 정해 줄 기본값
- ELSE 생략가능, 생략하면 조건에 해당하지 않는 값은 NULL
- 새로운 컬럼을 만드는 것이기 때문에 SELECT에다가 써준다
습도를 구간으로 나타내기
SELECT humidity,
CASE WHEN humidity>=0 AND humidity<30 THEN '건조'
WHEN humidity>=30 AND humidity<60 THEN '적정'
WHEN humidity>=60 AND humidity<=100 THEN '습함' ELSE 'ERROR' END AS humidity_group
FROM data.bike_sharing
정렬하고 싶은 순서에 따라 조건 앞에 '숫자_'0부터 차례로 표기한다
SELECT humidity,
CASE WHEN humidity>=0 AND humidity<30 THEN '0_건조'
WHEN humidity>=30 AND humidity<60 THEN '1_적정'
WHEN humidity>=60 AND humidity<=100 THEN '2_습함' ELSE '3_ERROR' END AS humidity_group
FROM data.bike_sharing
ORDER BY humidity_group
SELECT DISTINCT humidity,
CASE WHEN humidity>=0 AND humidity<30 THEN '0_건조'
WHEN humidity>=30 AND humidity<60 THEN '1_적정'
WHEN humidity>=60 AND humidity<=100 THEN '2_습함' ELSE '3_ERROR' END AS humidity_group
FROM data.bike_sharing
ORDER BY humidity_group DESC
반응형