순간을 기록으로

[MYSQL] 여러 기준으로 정렬하기 본문

카테고리 없음

[MYSQL] 여러 기준으로 정렬하기

luminous13 2021. 11. 12. 17:03

문제

https://programmers.co.kr/learn/courses/30/lessons/59404

 

코딩테스트 연습 - 여러 기준으로 정렬하기

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디

programmers.co.kr

 

 

해결방법

정렬 개념을 사용한다.

MySQL에서 정렬은 ORDER BY구를 이용해서 정렬한다. 

 

SELECT * FROM 테이블명 ORDER BY 열1 {ASC|DESC}, 열2{ASC|DESC}, ...;

 

앞에 먼저 작성한 열1을 기준으로 정렬을 하고 그 다음에 열2를 기준으로 정렬하게 된다.

MySQL은 기본적으로 오름차순을 정렬의 기본설정으로 한다. 그렇기 때문에 오름차순의 경우 열 이름만 적고

내림차순을 할 때에만 DESC를 명시적으로 작성해준다.

 

문제에서는 NAME으로 정렬을하고 이름이 같다면 보호를 나중에 시작한, 즉 늦게 들어온 개를 먼저 조회(=내림차순)한다고 한다.

따라서 다음과 같이 작성한다.

 

 

 

 

Comments