728x90
SMALL
프로그래머스 SQL 문제: 보호소에 들어온 동물의 이름 개수 조회하기
문제 설명:
ANIMAL_INS
테이블에서 보호소에 들어온 동물들의 서로 다른 이름의 개수를 조회하는 SQL 쿼리를 작성하세요.
문제 해결 SQL
SELECT COUNT(DISTINCT NAME) AS 이름_개수
FROM ANIMAL_INS;
코드 설명
- 중복 제거:
COUNT(DISTINCT NAME)
을 사용하여 중복된 이름을 제외하고 개수를 계산. - NULL 값 제외:
DISTINCT
는 자동으로NULL
값을 제외하므로, 이름이 없는 경우는 계산되지 않음. - 컬럼명 변경:
AS 이름_개수
를 사용하여 출력 컬럼명을이름_개수
로 지정.
실행 결과 예시
이름_개수 |
---|
53 |
위와 같은 결과가 나오며, 보호소에 들어온 동물들 중 서로 다른 이름의 개수가 53개라고 가정한 경우입니다.
고려할 점 및 추가적인 접근
- NULL 값 포함 여부: 만약
NULL
값도 포함하여 계산하려면COALESCE(NAME, 'Unknown')
을 사용할 수도 있음. - 이름별 개수 조회: 각 이름별로 몇 마리의 동물이 있는지 알고 싶다면
GROUP BY NAME
을 활용할 수 있음:SELECT NAME, COUNT(*) AS 개수 FROM ANIMAL_INS GROUP BY NAME ORDER BY 개수 DESC;
728x90
LIST
'programmers' 카테고리의 다른 글
프로그래머스 [SUM, MAX, MIN / 조건에 맞는 아이템들의 가격의 총합 구하기](MySQL) -yes6686- 티스토리 (0) | 2025.02.21 |
---|---|
프로그래머스 [SUM, MAX, MIN / 가격이 제일 비싼 식품의 정보 출력하기](MySQL) -yes6686- 티스토리 (0) | 2025.02.21 |
프로그래머스 [SUM, MAX, MIN / 동물 수 구하기](MySQL) -yes6686- 티스토리 (0) | 2025.02.21 |
프로그래머스 [SUM, MAX, MIN / 최솟값 구하기](MySQL) -yes6686- 티스토리 (0) | 2025.02.21 |
프로그래머스 [SUM, MAX, MIN / 최댓값 구하기](MySQL) -yes6686- 티스토리 (0) | 2025.02.21 |