프로그래머스 SQL : 여러 기준으로 정렬하기

커비·2024년 10월 17일
0

프로그래머스 SQL

목록 보기
3/3
post-thumbnail

💻 프로그래머스 SQL : 여러 기준으로 정렬하기

처음에는 실행결과를 보고 이게 정말 맞는걸까 하는 의구심을 가졌지만, 이름이 같은 동물의 DATETIME을 확인하고 안심했던 문제이다.

여러 기준으로 정렬하기 문제 링크

📌 주어진 문제

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.

NAMETYPENULLABLE
ANIMAL_IDVARCHAR(N)FALSE
ANIMAL_TYPEVARCHAR(N)FALSE
DATETIMEDATETIMEFALSE
INTAKE_CONDITIONVARCHAR(N)FALSE
NAMEVARCHAR(N)TRUE
SEX_UPON_INTAKEVARCHAR(N)FALSE

동물 보호소에 들어온 모든 동물의 아이디와 이름, 보호 시작일을 이름 순으로 조회하는 SQL문을 작성해주세요. 단, 이름이 같은 동물 중에서는 보호를 나중에 시작한 동물을 먼저 보여줘야 합니다.


📌 첫번째 시도

이번에는 정말 직관적으로 표기해보았다. 문제에서 내가 요구한 것은

  1. 모든 동물의 아이디와 이름, 보호 시작일을 이름 순으로 조회
  2. 이름이 같은 동물 중에서는 보호를 나중에 시작한 동물 순으로 출력

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 이렇게 오름차순으로 잘 보여지고 있다.

두번째 확인해야할 부분은 '이름이 같은 동물 중에서 보호일이 내림차순으로 설정되어있는가'인데 이또한 잘 보여지고 있다.


📌 정답입니다!

확신을 가지고 제출 후 실행하기 버튼을 클릭했다. 아주 마음에 드는 결과다!


📌 나의 생각

아직 나에게 제대로 된 확신이 처음부터 서지 않는다는 건 아직 불안정한 실력임을 깨달을 수 있었다. 확신하며 사용할 수 있도록 계속 풀어나가야겠다는 생각이 들었다. 화이팅!!

profile
전공은 컴퓨터공학, 복수전공은 해킹보안학, 직장은 방학(파워 구직중)

0개의 댓글