# 동명 동물 수 찾기
SELECT NAME, COUNT(*) AS COUNT
FROM ANIMAL_INS
WHERE NAME IS NOT NULL
GROUP BY NAME
HAVING COUNT(*) >= 2
ORDER BY 1;
설명:
- SELECT NAME, COUNT(*) AS COUNT
- NAME별로 몇 마리의 동물이 있는지 계산합니다.
- COUNT(*) AS COUNT를 사용하여 각 이름의 출현 횟수를 COUNT 열로 출력합니다.
- FROM ANIMAL_INS
- ANIMAL_INS 테이블에서 데이터를 가져옵니다.
- WHERE NAME IS NOT NULL
- NAME이 NULL이 아닌 경우만 포함합니다.
- NULL 값이 있는 경우 GROUP BY에서 하나의 그룹으로 처리될 수 있으므로 이를 배제합니다.
- GROUP BY NAME
- NAME을 기준으로 그룹화하여 각 이름별 출현 횟수를 계산합니다.
- HAVING COUNT(*) >= 2
- 같은 이름을 가진 동물이 2마리 이상인 경우만 필터링하여 결과에 포함합니다.
- ORDER BY 1
- ORDER BY NAME과 동일한 의미이며, 알파벳 순서로 정렬합니다.
#고양이와 개는 몇마리 있을까?
SELECT ANIMAL_TYPE, COUNT(*) AS count
FROM ANIMAL_INS WHERE ANIMAL_TYPE IN ('Cat', 'Dog')
GROUP BY ANIMAL_TYPE ORDER BY ANIMAL_TYPE;
설명:
- SELECT ANIMAL_TYPE, COUNT(*) AS count
- ANIMAL_TYPE을 기준으로 그룹화하고, 각 동물 유형별 개수를 COUNT(*)로 계산합니다.
- FROM ANIMAL_INS
- ANIMAL_INS 테이블에서 데이터를 가져옵니다.
- WHERE ANIMAL_TYPE IN ('Cat', 'Dog')
- Cat과 Dog만 조회하도록 필터링합니다.
- GROUP BY ANIMAL_TYPE
- ANIMAL_TYPE을 기준으로 그룹화하여 각 그룹별 개수를 계산합니다.
- ORDER BY ANIMAL_TYPE
- Cat을 먼저 출력해야 하므로, 기본적으로 ORDER BY ANIMAL_TYPE을 사용하여 알파벳 순서로 정렬합니다.
728x90
'코딩스터디' 카테고리의 다른 글
LEETCODE : SQL - JOIN (0) | 2025.03.10 |
---|---|
Leetcode SQL : Not boring Movies, Article Views (0) | 2025.03.05 |
SQL : SUM, MAX, MIN 가격이 제일 비싼 식품의 정보 출력하기, 가격이 제일 비싼 식품의 정보 출력하기 (0) | 2025.02.26 |
[프로그래머스] 파이썬, 수 조작하기1 (0) | 2024.10.11 |
[프로그래머스]인덱스 바꾸기 파이썬 (0) | 2024.09.23 |