[프로그래머스 SQL 고득점 Kit] SUM, MAX, MIN

페리·2021년 5월 2일
0
post-thumbnail

이전 포스트처럼 프로그래머스에서 SQL문을 공부해보도록 한다.
데이터에 대한 설명은 다음과 같다. (이전 포스트와 데이터가 동일)

> 데이터 설명

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.

1. 최댓값 구하기
가장 최근에 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성해주세요. 다음과 같이 출력되어야 합니다. (결과값은 다릅니다.)

DATETIME 컬럼의 최댓값을 구하는 문제로 MAX를 사용하면 된다.

SELECT MAX(DATETIME) FROM ANIMAL_INS;

2. 최솟값 구하기
동물 보호소에 가장 먼저 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성해주세요. 다음과 같이 출력되어야 합니다. (결과값은 다릅니다.)

DATETIME 컬럼의 최솟값을 구하는 문제로 MIN을 사용하면 된다.

SELECT MIN(DATETIME) FROM ANIMAL_INS;

3. 동물 수 구하기
동물 보호소에 동물이 몇 마리 들어왔는지 조회하는 SQL 문을 작성해주세요. 다음과 같이 출력되어야 합니다. (결과값은 다릅니다.)

출력값의 COUNT를 구하면 되는 문제이다. 컬럼중에 ANIMAL_ID를 잡아서 COUNT를 해준다.

SELECT COUNT(ANIMAL_ID) FROM ANIMAL_INS;

4. 중복 제거하기
동물 보호소에 들어온 동물의 이름은 몇 개인지 조회하는 SQL 문을 작성해주세요. 이때 이름이 NULL인 경우는 집계하지 않으며 중복되는 이름은 하나로 칩니다. 다음과 같이 출력되어야 합니다. (결과값은 다릅니다.)

중복을 제거하는 문제로, DISTINCT NAME의 COUNT를 하면 된다. 그리고 NAME이 NULL이 아닌 것들만 골라야 하기 때문에 NAME is not null 을 해주면 된다.

SELECT COUNT(DISTINCT NAME) FROM ANIMAL_INS WHERE NAME is not null;

0개의 댓글

관련 채용 정보