SQL 문제
문제 11. 여러 기준으로 정렬하기(ORDER BY의 컬럼 2개)
kagan-draca
2024. 7. 11. 17:52
문제를 풀기 위해서는 먼저 이름을 사전 순으로 오름차순 정렬하고, 이름이 같으면 보호를 시작한 날짜를 내림차순 정렬해야 했다.
처음에는 이름이 같을 경우 내림차순을 해야한다는 생각에 SELECT 문 안에 SELECT 문을 사용해서 푸는 문제이거나, SELECT문 안에 GROUP BY 컬럼 HAVING으로 이름이 같을 경우 먼저 정렬하고, ORDER BY NAME ASC로 오름차순 정렬해야 하는 줄 알았다. 하지만, 아무리 코드를 실행해도 오류 메시지만 출력되고 문제는 풀리지 않았다.
그래서 혹시나 하는 생각에 그냥 SELECT문만 사용하고, ORDER BY NAME ASC, DATETIME DESC를 사용해보았다.
그 결과, 이름이 오름차순으로 먼저 정렬된 후, 이름이 같은 요소들은 DATETIME으로 내림차순 된다는 사실을 알게 됐다.
제출한 코드 :
SELECT ANIMAL_ID, NAME, DATETIME FROM ANIMAL_INS
ORDER BY NAME ASC, DATETIME DESC