본문 바로가기
CS/SQL

[Programmers] 여러 기준으로 정렬하기

by zlzzlzz2l 2021. 5. 8.
반응형

문제

ORDER BY를 활용할 수 있는지 물어보는 문제인 것 같다.


문제 설명

ANIMAL_ID, NAME, DATETIME을 이름 순으로 정렬한다. 다만 같은 이름이 있을 경우에는 보호를 나중에 시작한 동물을 먼저 조회한다. 즉, 이름이 같을 경우 DATETIME을 내림차순으로 정렬한다.


개념

ORDER BY 여러개

SELECT 열이름 FROM 테이블이름 ORDER BY 열이름1 정렬방향(ASC or DESC), 열이름2 정렬방향(ASC or DESC);

즉, 쉼표(,)로 구분하면 여러 조건으로 정렬할 수 있다.

문제풀이

이름(오름차순)으로 정렬하되, 이름이 같을 시 DATETIME(내림차순)으로 조회해야 하기 때문에 쿼리문은 아래와 같다.

 

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

 

문제에서 원하는 값과 동일한 결과가 출력되는 것을 확인할 수 있다.

 

문제풀이에 성공했다.


문제 출처 : programmers.co.kr/learn/courses/30/lessons/59404

 

코딩테스트 연습 - 여러 기준으로 정렬하기

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디

programmers.co.kr


저의 주관적인 생각이 담긴 글입니다.

이 글을 보신 분들에게 도움이 되고자 글을 썼지만 부족한 부분이 많을 수 있습니다.

그 점 양해 부탁드리며, 추가했으면 하는 부분이나 잘못된 부분은 댓글로 알려주시면 감사하겠습니다!

반응형

댓글