웹프로그래머/SQL
[MYSQL/MariaDB] ORDER BY 임의 순서 정렬 / 순서 지정 / 임의 지정
:- )
2023. 5. 25. 16:46
반응형
SELECT 한 데이터들의 정렬을 하기 위해서는 ORDER BY절을 사용한다.
SELECT PURCHASE_TYPE
FROM TBL_CAR_LIST
ORDER BY PURCHASE_TYPE
위 예시 데이터 결과를 보면 '가나다..'순으로 오름차순 정렬된 것을 확인 할 수 있다. 만약 역순으로 하고 싶다면 'DESC'를 붙여주면 된다.
SELECT PURCHASE_TYPE
FROM TBL_CAR_LIST
ORDER BY PURCHASE_TYPE DESC
근데 어떠한 목적으로 내가 원하는대로 순서지정이 필요한 경우가 꼭 있다. (인기있는 키워드를 윗쪽으로 정렬해준다던지.. ) 그런 경우에는 CASE문을 활용할 수 있다. 만약 "선물 > 위탁 > 위탁매입"는 우선 정렬하고 나머지는 오름차순으로 정렬을 원한다면,
SELECT PURCHASE_TYPE
FROM TBL_CAR_LIST
ORDER BY (
CASE PURCHASE_TYPE
WHEN '선물' THEN 1
WHEN '위탁' THEN 2
WHEN '위탁매입' THEN 3
ELSE 4
END
),
PURCHASE_TYPE
위와 같이 CASE문으로 임의지정 해준 뒤 다시 PURCHASE_TYPE으로 정렬을 해줄 수 있다.
반응형