반응형
SELECT ANIMAL_TYPE, count(ANIMAL_ID)count
FROM ANIMAL_INS
WHERE 1=1
AND ANIMAL_TYPE in ("DOG","CAT")
GROUP BY ANIMAL_TYPE
ORDER BY ANIMAL_TYPE
ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.
문제
동물 보호소에 들어온 동물 중 고양이와 개가 각각 몇 마리인지 조회하는 SQL문을 작성후 고양이를 개보다 먼저 조회
일단 개와 고양이 데이터만을 필터 해야하기에 in () 구문으로 ANIMAL_TYPE 에서 DOG, CAT을 뽑아줍니다.
그리고 각각의 고양이 개 타입이 몇마리인지 알아 보기 위함이기 때문에 GROUP BY로 ANIMAL_TYPE을 묶어 줍니다. 그다음 유니크성을 가지는 ANIMAL_ID로 COUNT 합니다. alias는 as를 붙여도 안붙여도 되기에 이번에는 그냥 안붙여서 썼습니다.
다음으로 고양이 먼저 조회가 필요해서 알파벳순으로 고양이가 앞에 있으므로 오름차순으로 ANIMAL_TYPE 을 정렬해주면 마무리입니다.
반응형
'SQL > MY SQL 문제 풀이(프로그래머스)' 카테고리의 다른 글
[MYSQL] PROGRAMMERS_입양 시각 구하기(1) (0) | 2024.02.21 |
---|---|
[MYSQL] PROGRAMMERS_진료과별 총 예약 횟수 출력하기 (0) | 2024.02.21 |
[MYSQL] PROGRAMMERS_중성화 여부 파악하기 (0) | 2024.02.21 |
[MYSQL] PROGRAMMERS_카테고리 별 상품 개수 구하기 (0) | 2024.02.21 |
[MYSQL] PROGRAMMERS_가격이 제일 비싼 식품의 정보 출력하기 (0) | 2024.02.21 |