👀 문제
https://programmers.co.kr/learn/courses/30/lessons/59408
👊 첫 번째 도전
1. 설계
- NAME에 중복, null이 존재하는데 이를 제외하고 갯수를 세야한다. 따라서 DISTINCT를 이용해 중복을 제거한다.
- DISTINCT는 null도 포함하므로 조건절에서 NOT NULL을 사용한다.
- 제거한 값을 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는 정렬된 결과를 출력한다.
👏 해결 완료!
참고
- DISTINCT 와 GROUP BY의 차이 http://intomysql.blogspot.com/2011/01/distinct-group-by.html