프로그래머스 SQL 고득점 Kit의 문제입니다.
https://programmers.co.kr/learn/challenges?tab=sql_practice_kit
내가 작성한 SQL
-- 동작하지않음
SELECT name FROM anaimal_ins
WHERE MIN(datetime)
- MIN에 대한 사용과, 이를 조건으로 다른 컬럼의 데이터만 가져오는 방법을 몰랐다
다른 사람이 작성한 SQL
-- 방법1
SELECT name FROM animal_ins
ORDER BY datetime LIMIT 1
-- 방법2
SELECT name FROM animal_ins
WHERE datetime=(
SELECT min(datetime) FROM animal_ins
);
- ORDER BY와 LIMIT를 사용하여 datetime기준으로 정렬된 레코드의 첫번째 row에서 name column만 출력
- datetime이 최소값을 갖는 결과를 SELECT를 통해 만들어, 해당 값을 WHERE를 이용해 일치하는 값의 레코드 출력
기억해야할 것
- MIN을 이용한 결과 테이블은 해당 COLUMN을 무조건 포함
- LIMT으로 결과 row 개수 조정 가능
- 아무래도 문제의 이름이 n개 레코드이기 때문에, LIMIT 사용이 적절해보인다
'CS > MySQL' 카테고리의 다른 글
[MySQL] 데이터 복원 (0) | 2022.04.04 |
---|---|
[프로그래머스][SQL][SELECT] 아픈 동물 찾기 (0) | 2021.08.06 |
[프로그래머스][SQL][SELECT] 역순 정렬하기 (0) | 2021.08.06 |
[프로그래머스][SQL][SELECT] 모든 레코드 조회하기 (0) | 2021.08.06 |
[TCPschool][4장] 연산자와 함수 (0) | 2021.08.06 |