[SQL/프로그래머스] SUM, MAX, MIN_중복 제거하기: DISTINCT와 GROUP BY의 차이점

👀 문제

https://programmers.co.kr/learn/courses/30/lessons/59408

👊 첫 번째 도전

1. 설계

  1. NAME에 중복, null이 존재하는데 이를 제외하고 갯수를 세야한다. 따라서 DISTINCT를 이용해 중복을 제거한다.
  2. DISTINCT는 null도 포함하므로 조건절에서 NOT NULL을 사용한다.
  3. 제거한 값을 COUNT로 세서 출력한다.

2. 구현

SELECT COUNT(DISTINCT NAME) FROM ANIMAL_INS WHERE NAME IS NOT NULL;

3. 결과

실행결과 🤟 성공 🤟

4. DISTINCT와 GROUP BY

  • DISTINCT: 중복되지 않는 레코드를 조회한다.
  • GROUP BY: 데이터를 그룹핑해서 그 결과를 가져온다.
  • 차이점: DISTINCT는 정렬된 결과가 아니지만, GROUP BY는 정렬된 결과를 출력한다.

👏 해결 완료!

참고