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