[프로그래머스] SQL Kit - SUM, MAX, MIN

2021. 3. 16. 16:34개인 공부 공간/SQL

[프로그래머스] SUM, MAX, MIN


프로그래머스 코딩테스트 연습 SQL Kit에 있는 SUM, MAX, MIN 문제 풀이 입니다.

 

  1. 최댓값 구하기
  2. 최솟값 정렬하기
  3. 동물 수 구하기
  4. 중복 제거하기

모든 문제는 다음의 ANIMAL_INS 테이블을 바탕으로 주어집니다.

프로그래머스table2.PNG


1. 최댓값 구하기

문제

가장 최근에 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성해주세요.

 

SELECT DATETIME
FROM ANIMAL_INS
ORDER BY DATETIME DESC
LIMIT 1;

 

가장 최근에 들어온 동물의 들어온 시간을 조회하기 위해서는 결국 가장 마지막에 들어온 동물의 시간을 조회해야 하기 때문에 ORDER BY DESC 를 사용 했습니다.

2. 최솟값 정렬하기

문제

동물 보호소에 가장 먼저 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성해주세요.

 

SELECT DATETIME
FROM ANIMAL_INS
ORDER BY DATETIME
LIMIT 1;

 

가장 먼저 들어온 동물의 시간을 조회하기 위해 ORDER BY 를 사용 했습니다.

3. 동물 수 구하기

문제

동물 보호소에 동물이 몇 마리 들어왔는지 조회하는 SQL 문을 작성해주세요.

 

SELECT COUNT(*)
FROM ANIMAL_INS;

 

COUNT(*) 를 이용해 전체 데이터셋의 행이 총 몇개인지 출력하여 간접적으로 동물이 몇 마리 들어왔는지 확인 했습니다. 하지만 데이터셋이 매우 커질 경우 count(*)count(column_명) 에 비해 속도가 떨어지기 때문에 가급적 count(column_명) 을 이용하는 것이 바람직 합니다.

4. 중복 제거하기

문제

동물 보호소에 들어온 동물의 이름은 몇 개인지 조회하는 SQL 문을 작성해주세요. 이때 이름이 NULL인 경우는 집계하지 않으며 중복되는 이름은 하나로 칩니다.

 

SELECT COUNT(DISTINCT NAME)
FROM ANIMAL_INS;

 

COUNT(DISTINCT column_명) 을 사용하면 중복되지 않으면서 NULL은 제외되는 값들만 조회하게 됩니다.

출처: https://privatedevelopnote.tistory.com/81 [개인노트]