본문 바로가기
코딩테스트/SQL

[프로그래머스] SELECT 〉Lv1. 여러 기준으로 정렬하기

by imsha 2021. 10. 8.

문제 설명

 


예시

 


풀이 방법

이 문제의 핵심은 제목에 나와 있습니다. 여러 기준으로 '정렬'. 결국 ORDER BY가 중요한 문제인 듯싶습니다.

우선 예시 테이블의 칼럼과 같은 결과를 내기 위해 SELECT ANIMAL_ID, NAME, DATETIME 을 씁니다. 다음은 동물 보호소의 동물 정보 테이블 ANIMAL_INS에서 데이터를 가져오기 위해 FROM ANIMAL_INS 를 작성합니다. 이제 가장 중요한 정렬 부분으로 우선 이름 순으로 정렬을 하고 그중 같은 이름만 다른 정렬을 해야 하므로 NAME을 앞에 적는다. ORDER BY NAME ASC, DATETIME DESC 로 마무리를 합니다. 원래대로라면 ASC를 생략하나, 뒤에 나올 DATETIME의 내림차순과 같이 쓰일 수가 있기 때문에 ASC를 생략하지 않았습니다. 

 


문제 풀이

solution.sql
SELECT ANIMAL_ID, NAME, DATETIME
FROM ANIMAL_INS
ORDER BY NAME ASC, DATETIME DESC

 


실행 결과

위에서 두번째 같은 이름 Lucy가 세번 나옵니다. 이 때 오른쪽 보호 시작일은 내림차순으로 정렬되었습니다.

 

댓글