문제:

풀이방법:

NULL이 필요한 문제가 아니므로 기본 조인인 INNER JOIN을 사용해도 상관이 없다. 따라서 두 테이블을 INNER JOIN 했다. 그 다음에 보호 기간이 가장 길었다는 것은 O.DATETIME과 I.DATETIME의 차이가 크다는 것이다. 따라서 이 연산을 ORDER BY에다가 DESC 조건을 넣어서 찾도록 한다.

1
2
SELECT I.ANIMAL_ID, I.NAME FROM ANIMAL_INS I, ANIMAL_OUTS O WHERE I.ANIMAL_ID = O.ANIMAL_ID
ORDER BY (O.DATETIME -I.DATETIME) DESC LIMIT 2;
cs

문제링크:

https://programmers.co.kr/learn/courses/30/lessons/59411

문제:

풀이방법:

여러 기준으로 정렬을 하는 것은 ORDER BY 절에 컬럼들을 나열함으로써 해결할 수 있다. ORDER BY에 디폴트 값으론 오름차순으로 정렬로 설정이 되어 있지만 DESC라는 조건을 넣어주면 이를 내림차순으로 정렬할 수 있다.

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

문제링크:

https://programmers.co.kr/learn/courses/30/lessons/59404

+ Recent posts