반응형
기존에 있는 컬럼으로 조건에 따라 새로운 컬럼을 만들기도 함
조건에 따라 값 정해주기: 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
반응형
'Skills > SQL' 카테고리의 다른 글
[SQL] 16. 다듬어진 데이터가 필요로 할 때, WITH (0) | 2021.08.06 |
---|---|
[SQL] 15. 다듬어진 데이터가 필요로 할 때, 서브쿼리 (0) | 2021.08.05 |
[SQL] 13. 날짜와 시간 다루기 (DATE) (0) | 2021.08.05 |
[SQL] 12. 테이블 세로로 연결하기 (UNION) (0) | 2021.08.05 |
[SQL] 11. 테이블 연결하기 (ON과 WHERE 차이) (0) | 2021.08.05 |