포스트

동명 동물 수 찾기

https://school.programmers.co.kr/learn/courses/30/lessons/59041

문제

  • 문제 풀이
    • COUNT(NAME)를 사용하면 NULL 값인 레코드는 제외된다.

      1
      2
      3
      4
      5
      6
      7
      
        -- 이름이 없는 동물은 집계에서 제외: COUNT(*) → COUNT(NAME)
        SELECT NAME, COUNT(NAME) AS "COUNT"
        FROM ANIMAL_INS
        GROUP BY NAME
        HAVING COUNT(NAME) >= 2
        ORDER BY NAME;
              
      
    • COUNT(*)를 사용한다면 모든 레코드를 대상으로 하기 때문에 WHERE NAME IS NOT NULL을 사용하여 NULL 값인 레코드를 필터링해주어야 한다.

      1
      2
      3
      4
      5
      6
      
        SELECT NAME, COUNT(*) AS COUNT
        FROM ANIMAL_INS
        WHERE NAME IS NOT NULL
        GROUP BY NAME
        HAVING COUNT(*) >= 2
        ORDER BY NAME;
      


  • 실행 결과

실행 결과

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.