728x90
동명 동물 수 찾기
문제 설명
코딩테스트 연습 - 동명 동물 수 찾기 | 프로그래머스 스쿨
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
동물 보호소에 들어온 동물 이름 중 두 번 이상 쓰인 이름과 해당 이름이 쓰인 횟수를 조회하는 SQL문을 작성해주세요. 이때 결과는 이름이 없는 동물은 집계에서 제외하며, 결과는 이름 순으로 조회해주세요.
입출력 예
예를 들어 ANIMAL_INS 테이블이 다음과 같다면
- Raven 이름은 2번 쓰였습니다.
- Lucy 이름은 3번 쓰였습니다
- Shadow 이름은 1번 쓰였습니다.
따라서 SQL문을 실행하면 다음과 같이 나와야 합니다.
입출력 예 설명
이름 없는 동물은 제외하고! 같은 동물 이름이 두 번 쓰인 횟수를 조회한다
먼저 이름별 그룹으로 묶어서 횟수를 조회하는 것이 우선이다. >> 확인코드의 실행결과 참고!
그리고 having 조건절을 추가해서 필터 하는 방법 1
또는 방금 조회한 테이블을 서브쿼리로 사용해서 where 조건으로 필터링하는 방법 2
로 구현해보았다.
풀이코드
sql1 mysql
-- mysql
-- 코드를 입력하세요
SELECT NAME, COUNT(NAME) AS CNT
FROM ANIMAL_INS
GROUP BY NAME
HAVING NAME IS NOT NULL
AND CNT >= 2
ORDER BY NAME;
sql2 oracle
-- oracle
-- 코드를 입력하세요
SELECT NAME, CNT
FROM
(SELECT A.NAME, COUNT(A.NAME) AS CNT
FROM ANIMAL_INS A
GROUP BY NAME
ORDER BY NAME)
WHERE CNT >= 2;
실행 결과
확인코드
sql
오라클 서브쿼리문
-- 코드를 입력하세요
SELECT A.NAME, COUNT(A.NAME) AS CNT
FROM ANIMAL_INS A
GROUP BY NAME
ORDER BY NAME;
실행결과
이제 서브쿼리도 잘 쓸 줄 안다구요^-^
728x90
'제로베이스 > 코딩테스트' 카테고리의 다른 글
[프로그래머스 mysql oracle] 오랜 기간 보호한 동물(1) (2) | 2022.09.16 |
---|---|
[프로그래머스 mysql oracle] NULL 처리하기 / null 관련 함수 정리 (1) | 2022.07.15 |
[프로그래머스 mysql oracle] 중성화 여부 파악하기 (1) | 2022.07.07 |
[프로그래머스 mysql oracle] 입양 시각 구하기(1) (0) | 2022.07.06 |
[프로그래머스 mysql oracle] 최댓값 구하기 (0) | 2022.07.04 |