Database
[Programmers] SUM, MAX, MIN - 최댓값 구하기, 중복 제거하기
31daylee
2024. 2. 20. 11:23
728x90
문제 설명
ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다.
ANIMAL_INS테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.
문제 1 ) 최댓값 구하기
가장 최근에 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성해주세요.
SELECT DATETIME AS '시간'
FROM ANIMAL_INS
ORDER BY DATETIME DESC
LIMIT 1;
ORDER BY 다음에 LIMIT 조건을 걸면
ORDER BY 로 정렬된 컬럼의 최상위만 출력하게 된다.
문제 2) 중복 제거하기
동물 보호소에 들어온 동물의 이름은 몇 개인지 조회하는 SQL 문을 작성해주세요. 이때 이름이 NULL인 경우는 집계하지 않으며 중복되는 이름은 하나로 칩니다.
SELECT COUNT(DISTINCT(NAME))AS 'count'
FROM ANIMAL_INS
WHERE NAME IS NOT NULL;
DISTINCT로 중복 제거한 후 COUNT 함수를 사용한다.
NULL 체크하는 것은 WHERE절에서 진행한다.
<출처>
https://school.programmers.co.kr/learn/courses/30/lessons/59415
https://school.programmers.co.kr/learn/courses/30/lessons/59408
728x90