sm 기술 블로그
11. 중복 제거하기 (GROUP BY 혹은 DISTINCT) 본문
문제 : 동물 보호소에 들어온 동물의 이름은 몇 개인지 조회하는 SQL 문을 작성해주세요. 이때 이름이 NULL인 경우는 집계하지 않으며 중복되는 이름은 하나로 칩니다.
SELECT COUNT(NAME) FROM (SELECT * FROM ANIMAL_INS GROUP BY NAME) A
위와 같이 서브쿼리를 이용하여 먼저 group by로 이름을 제거한 테이블에서 이름을 세는 방법이 있다.
또다른 방법으로는
SELECT COUNT(DISTINCT NAME) FROM ANIMAL_INS
다음과 같이 처음부터 name을 기준으로 중복을 제거하고 갯수를 세는 방법이 있다.
'문제 > 프로그래머스_sql' 카테고리의 다른 글
13. 동명 동물 수 찾기 (서브 쿼리) (0) | 2022.10.04 |
---|---|
12. 고양이와 개는 몇 마리 있을까 (GROUP BY, ORDER BY) (0) | 2022.10.04 |
10. 동물 수 구하기 (COUNT) (1) | 2022.10.04 |
9. 최솟값 구하기 (ORDER BY, LIMIT) (0) | 2022.10.04 |
8. 최댓값 구하기 (ORDER BY, LIMIT) (1) | 2022.10.04 |
Comments