반응형
SQL 작성 시 정렬이 필요한 경우 :
ORDER BY 컬럼명 정렬순서(ASC, DESC)
그런데 이런 경우 말고 특정 조건에 따라 정렬 가중치를 변경해서 정렬하고 싶을 경우 CASE WHEN을 활용할 수 있다
예를 들면 과일 데이터가 있을 때 사과, 오렌지, 체리 순서로 데이터를 뽑고 싶다
이럴 경우 case when을 이용하여 간단하게 정렬할 수 있다
예제1
SELECT *
FROM fruit
ORDER BY
CASE fruit_type WHEN '사과' THEN 1
WHEN '오렌지' THEN 2
WHEN '체리' THEN 3
END ASC
예제2
SELECT *
FROM fruit
ORDER BY
CASE WHEN fruit_type = '사과' THEN 1
WHEN fruit_type = '오렌지' THEN 2
WHEN fruit_type = '체리' THEN 3
END ASC
반응형
'개발 > Database' 카테고리의 다른 글
[SQL] 주간 통계 / 주차별 가입자 수 구하기 (0) | 2022.01.14 |
---|---|
[sequelize-cli] db:migrate 명령어 환경별 실행 (0) | 2021.08.30 |
[SQL] 페이징 쿼리 limit offset (3) | 2021.01.06 |
[postgresql] 시퀀스(sequence) 조회 / 수정 (0) | 2020.08.12 |
[PostgreSQL] 원격접속허용, 포트 변경 / DB ,스키마, 유저 생성 (0) | 2020.05.20 |
댓글