반응형

문제 링크

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

  이 전에 포스팅한 글과 같은 테이블을 사용한다.

 

1. 최댓값 구하기

  동물 보호소에 가장 최근에 들어온 동물이 언제 들어왔는지 출력하는 문제이다.

  가장 최근 즉 보호 시작일이 가장 큰 동물의 보호 시작일(datetime)을 출력하면 되므로 max( )를 사용한다.

SELECT MAX(DATETIME)
    FROM ANIMAL_INS

 

  datetime 컬럼에 대해서 최댓값을 출력하고자 하므로 select max(datetime)을 해주면 된다.

  이전에 포스팅한 글에서처럼 내림차순으로 정렬한 후 limit 절을 사용하여 같은 답을 출력할 수 있다.

 

2. 최솟값 구하기

  동물 보호소에 가장 먼저 들어온 동물이 언제 들어왔는지 출력하는 문제이다.

  위의 문제와 반대로 보호 시작일이 가장 작은 동물의 보호 시작일을 출력하면 되므로 min( )을 사용한다.

SELECT MIN(DATETIME)
    FROM ANIMAL_INS

 

  datetime 컬럼에 대해서 최솟값을 출력하고자 하므로 select min(datetime)을 해주면 된다.

  이전에 포스팅한 글에서처럼 오름차순으로 정렬한 후 limit 절을 사용하여 같은 답을 출력할 수 있다.

 

3. 동물 수 구하기

  동물 보호소에 동물이 몇 마리 들어왔는지 출력하는 문제이다.

  레코드의 수를 세기 위해서 count( )를 사용한다.

SELECT COUNT(*)
    FROM ANIMAL_INS

 

  특정 컬럼을 고려할 필요 없으므로 select count(*)를 해주었다.

 

4. 중복 제거하기

  동물 보호소에 들어온 동물의 이름의 수를 NULL과 중복을 제외하여 출력하는 문제이다.

  위의 문제와 마찬가지로 count( )를 사용한다.

SELECT COUNT(DISTINCT NAME)
    FROM ANIMAL_INS

 

  단 중복을 이름, 즉 name 컬럼에 대해서 중복을 제거하기 위해 distinct 키워드를 사용했다.

  *을 사용했을 때와 달리 count( ) 의 인자로 컬럼을 직접 명시해줬기 때문에 NULL 값은 자동적으로 제외된다.

반응형

+ Recent posts