💻 프로그래머스 SQL : 여러 기준으로 정렬하기
처음에는 실행결과를 보고 이게 정말 맞는걸까 하는 의구심을 가졌지만, 이름이 같은 동물의 DATETIME을 확인하고 안심했던 문제이다.
ANIMAL_INS
테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS
테이블 구조는 다음과 같으며, ANIMAL_ID
, ANIMAL_TYPE
, DATETIME
, INTAKE_CONDITION
, NAME
, SEX_UPON_INTAKE
는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.
NAME | TYPE | NULLABLE |
---|---|---|
ANIMAL_ID | VARCHAR(N) | FALSE |
ANIMAL_TYPE | VARCHAR(N) | FALSE |
DATETIME | DATETIME | FALSE |
INTAKE_CONDITION | VARCHAR(N) | FALSE |
NAME | VARCHAR(N) | TRUE |
SEX_UPON_INTAKE | VARCHAR(N) | FALSE |
동물 보호소에 들어온 모든 동물의 아이디와 이름, 보호 시작일을 이름 순으로 조회하는 SQL문을 작성해주세요. 단, 이름이 같은 동물 중에서는 보호를 나중에 시작한 동물을 먼저 보여줘야 합니다.
이번에는 정말 직관적으로 표기해보았다. 문제에서 내가 요구한 것은
1번 항목 : SELECT ANIMAL_ID, NAME, DATETIME = 충족
2번 항목 : ORDER BY NAME ASC, DATETIME DESC = 충족 (이름: 오름차순, 날짜: 내림차순)
SELECT ANIMAL_ID, NAME, DATETIME
FROM ANIMAL_INS
ORDER BY NAME ASC, DATETIME DESC
우선 이름이 특수문자부터 A, B 이렇게 오름차순으로 잘 보여지고 있다.
두번째 확인해야할 부분은 '이름이 같은 동물 중에서 보호일이 내림차순으로 설정되어있는가'인데 이또한 잘 보여지고 있다.
확신을 가지고 제출 후 실행하기 버튼을 클릭했다. 아주 마음에 드는 결과다!
아직 나에게 제대로 된 확신이 처음부터 서지 않는다는 건 아직 불안정한 실력임을 깨달을 수 있었다. 확신하며 사용할 수 있도록 계속 풀어나가야겠다는 생각이 들었다. 화이팅!!