[프로그래머스 SQL] Lv 1. 여러 기준으로 정렬하기
SQL 고득점 Kit - SELECT 문제
✔️ 문제 설명
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문을 작성해주세요.
단, 이름이 같은 동물 중에서는 보호를 나중에 시작한 동물을 먼저 보여줘야 합니다.
본 문제는 Kaggle의 “Austin Animal Center Shelter Intakes and Outcomes”에서 제공하는 데이터를 사용하였으며 ODbL의 적용을 받습니다.
👉 문제 보러가기
✔️ 문제 풀이
(1) Pseudo-Code
1. ANIMAL_INS 테이블을 가져온다.
2. 여러 컬럼 중 ANIMAL_ID, NAME, DATETIME 만 출력한다.
3. 동물 보호소에 들어온 모든 동물을 조회하기 위해 WHERE 문을 사용하지 않는다.
4. 출력 시 동물의 이름을 기준으로 하고 이름이 동일한 경우 보호 시작일이 최근인 데이터를 기준으로 정렬한다.
(2) 코드 작성
SELECT ANIMAL_ID, NAME, DATETIME
FROM ANIMAL_INS
ORDER BY NAME, DATETIME DESC
(3) 코드 리뷰 및 회고
- LGTM :)
👩🏻💻개인 공부 기록용 블로그입니다
오류나 틀린 부분이 있을 경우 댓글 혹은 메일로 따끔하게 지적해주시면 감사하겠습니다.
댓글남기기