출처 : https://programmers.co.kr/learn/courses/30/lessons/59041
문제
ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. 동물 보호소에 들어온 동물 이름 중 두 번 이상 쓰인 이름과 해당 이름이 쓰인 횟수를 조회하는 SQL문을 작성해주세요. 이때 결과는 이름이 없는 동물은 집계에서 제외하며, 결과는 이름 순으로 조회해주세요. |
SELECT NAME, COUNT(NAME) AS 'COUNT'
FROM ANIMAL_INS GROUP BY NAME HAVING COUNT(NAME) > 1 ORDER BY NAME |
이름이 2번이상 쓰인 이름을 찾아야하는데 GROUP으로 묶은 후 조건문을 걸어야 하는겁니다. GROUP으로 묶은 후에는 GROUP에 조건을 줄때는 WHERE절이 아니라 HAVING절을 사용하게 됩니다. 위와같은 조건을 만족하는 코드를 작성하게 되면 위와 같은 쿼리가 작성되게 됩니다. ※ AS를 이용하여 이름을 안바꾸면 정답처리가 안되서 추가했습니다. |
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
이름이 없는 동물의 아이디 MySQL(프로그래머스) (0) | 2020.07.19 |
---|---|
입양 시각 구하기(1) MySQL(프로그래머스) (2) | 2020.07.18 |
고양이와 개는 몇 마리 있을까 MySQL(프로그래머스) (0) | 2020.07.16 |
증복 제거하기 MySQL(프로그래머스) (0) | 2020.07.15 |
동물 수 구하기 MySQL(프로그래머스) (0) | 2020.07.14 |
댓글