여러 기준으로 정렬하기 문제는 다음과 같다.


이 문제를 풀기 위해선
1. 동물의 아이디, 이름, 보호 시작일을 출력
2-1. 동물의 이름을 오름차순으로 정렬하여 출력
2-2. 이름이 같을 경우 보호 시작일을 기준으로 내림차순 정렬 후 출력
의 순서를 거쳐야 한다.
우선 SELECT문을 통해
동물의 아이디, 이름, 보호 시작일을 가져오겠다.

다음으로 ORDER BY문을 이용해
동물의 이름을 기준으로
오름차순 정렬을 하겠다.

이때까지 오름차순 정렬을 요구한 문제를 풀 때
ASC라는 명령어를 명시하지 않았으나,
이번 문제를 풀 때에는
2-2 내용인 내림차순과 헷갈리지 않기 위해 써주었다.
앞서 포스팅했던 문제풀이에서 봤듯
ASC 명령어는 기본 옵션이기 때문에
따로 적지 않아도 자동으로 오름차순 정렬이 된다.
그러면 마지막으로
내림차순 정렬 명령어인 DESC를 사용하여
같은 이름이 있을 경우, 보호 시작일을 기준으로
내림차순하여 정렬해보겠다.

실행시켜보면 다음과 같이

이름을 기준으로 오름차순 정렬이 되어 있으나,
이름이 같을 경우
보호 시작일을 기준으로
내림차순 정렬이 되어 있는 모습을 확인할 수 있다.
그러면 이제 적은 쿼리문이 정답인지 확인해보겠다.

정답이다.
'DB > 문제풀이' 카테고리의 다른 글
| [프로그래머스] 최댓값 구하기 -LV.1 (0) | 2022.12.15 |
|---|---|
| [프로그래머스] 상위 n개 레코드 -LV.1 (0) | 2022.12.14 |
| [프로그래머스] 강원도에 위치한 생산공장 목록 출력하기 - LV.1 (0) | 2022.12.13 |
| [프로그래머스] 이름이 있는 동물의 아이디 -LV.1 (0) | 2022.12.12 |
| [프로그래머스] 이름이 없는 동물의 아이디 -LV. 1 (0) | 2022.12.12 |