SQL

ORDER BY 컬럼 우선순위 설정

익명의 문과 개발자 2024. 10. 10. 17:49
728x90
728x90

이번 문제는

"고양이와 개는 몇 마리 있을까" 이다.

 

이 문제는 처음부터 맞긴했다.

코드는 다음과 같다.

SELECT ANIMAL_TYPE, COUNT(*) AS count
FROM ANIMAL_INS
GROUP BY ANIMAL_TYPE
ORDER BY ANIMAL_TYPE;

 

CAT 이랑 DOG만 있지 않았다면..? 이 코드만으로 항상 정답일 것 같지 않았다.

찾아본 결과 다음과 같은 방법으로 이 문제를 해결할 수 있었다.

 

SELECT ANIMAL_TYPE, COUNT(*) AS count
FROM ANIMAL_INS
GROUP BY ANIMAL_TYPE
ORDER BY
    CASE 
        WHEN ANIMAL_TYPE = 'CAT' THEN 1
        WHEN ANIMAL_TYPE = 'DOG' THEN 2

        ELSE 3
    END;

CASE를 활용하여 CAT이 DOG보단 먼저 조회되도록 정할 수 있었다!

해결 !

728x90