Stay Hungry Stay Foolish

프로그래머스 코딩테스트/SQL 고득점 kit

Programmers 여러 기준으로 정렬하기 (SELECT/Level 1)

dev스카이 2022. 6. 25. 22:42

클릭 시 해당 문제로 이동

 


문제 설명

보호소의 모든 동물아이디, 이름, 보호 시작일이름 순으로 조회한다. 단, 이름이 같은 동물은 보호 시작을 더 늦게 한 동물을 먼저 보여줘야 한다.

 

문제 풀이

  1. SELECT절에 동물 아이디(ANIMAL_ID), 동물 이름(NAME), 보호 시작일(DATETIME)을 적는다.
  2. FROM절에 보호소 테이블인 ANIMAL_INS를 적는다.
  3. 이름 순으로 조회해야 하므로, ORDER BY를 이용해 정렬한다. 이때, 이름(NAME)뒤에 오름차순 키워드인 'ASC'은 디폴드 값이므로 생략한다. 같은 이름의 동물일 경우 보호 시작이 더 늦는 동물을 먼저 보여줘야 하기 때문에 DATETIME은 'DESC'로 검색한다. 

Solution

SELECT ANIMAL_ID, NAME, DATETIME FROM ANIMAL_INS ORDER BY NAME, DATETIME DESC;

 

※ORDER BY에서 주의할 점은, 먼저 전체를 정렬해야 할 칼럼명부터 적어주고, 그 뒤에 같은 칼럼명일 경우에 정렬하는 문장을 적어줘야 한다. 구분은 콤마(,)로 한다.