[programmers] SQL Lv. 2 - 동명 동물 수 찾기

2022. 10. 19. 14:44·Algorithm Solving/SQL

문제

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.

동물 보호소에 들어온 동물 이름 중 두 번 이상 쓰인 이름과 해당 이름이 쓰인 횟수를 조회하는 SQL문을 작성해주세요. 이때 결과는 이름이 없는 동물은 집계에서 제외하며, 결과는 이름 순으로 조회해주세요.

 

예시

예를 들어 ANIMAL_INS 테이블이 다음과 같다면

  • Raven 이름은 2번 쓰였습니다.
  • Lucy 이름은 3번 쓰였습니다
  • Shadow 이름은 1번 쓰였습니다.

따라서 SQL문을 실행하면 다음과 같이 나와야 합니다.


풀이

문제: 동물 보호소에 들어온 동물 이름 중 두 번 이상 쓰인 이름과 해당 이름이 쓰인 횟수를 조회하는 SQL문을 작성해주세요. 이때 결과는 이름이 없는 동물은 집계에서 제외하며, 결과는 이름 순으로 조회해주세요.

 

1. 동물 보호소에 들어온 동물

=> FROM ANIMAL_INS

2. 동물 이름 중 두 번 이상 쓰인 이름 조회

위 문제는 group by로 간단하게 조회할 수 있다.

group by 이름 having count(이름) > 1

=> SELECT NAME FROM ANIMAL_INS GROUP BY NAME HAVING COUNT(NAME) > 1

3. 해당 이름이 쓰인 횟수 조회

select 절에 count(이름) 만 추가하면 된다.

=> SELECT NAME, COUNT(NAME) AS COUNT FROM ANIMAL_INS GROUP BY NAME HAVING COUNT(NAME) > 1

4. 결과는 이름 순

=> ORDER BY NAME

 

SELECT 쿼리문의 문법 순서

① SELECT 

② FROM 

③ WHERE 

④ GROUP BY 

⑤ HAVING 

⑥ ORDER BY 

 

SELECT 쿼리문의 문법 순서를 유의해서 위 풀이를 정리하면 아래와 같다.

(이 문제의 경우 having절로 조건이 모두 충족되므로 where절은 생략 가능하다.)

SELECT NAME, COUNT(NAME) AS COUNT
FROM ANIMAL_INS
GROUP BY NAME
HAVING COUNT(NAME) > 1
ORDER BY NAME

 

 

저작자표시 비영리 변경금지

'Algorithm Solving > SQL' 카테고리의 다른 글

[programmers] SQL Lv. 4 - 우유와 요거트가 담긴 장바구니  (0) 2025.01.08
[programmers] SQL Lv. 1 - 과일로 만든 아이스크림 고르기  (0) 2025.01.08
[programmers] SQL Lv. 2 - 최솟값 구하기  (0) 2022.10.04
[programmers] SQL Lv. 2 - 동물 수 구하기  (0) 2022.10.04
[programmers] SQL Lv. 2 - 이름에 el이 들어가는 동물 찾기  (2) 2022.09.29
'Algorithm Solving/SQL' 카테고리의 다른 글
  • [programmers] SQL Lv. 4 - 우유와 요거트가 담긴 장바구니
  • [programmers] SQL Lv. 1 - 과일로 만든 아이스크림 고르기
  • [programmers] SQL Lv. 2 - 최솟값 구하기
  • [programmers] SQL Lv. 2 - 동물 수 구하기
기만나🐸
기만나🐸
공부한 내용을 기록합시다 🔥🔥🔥
  • 기만나🐸
    기만나의 공부 기록 🤓
    기만나🐸
  • 전체
    오늘
    어제
    • ALL (135)
      • TIL (Today I Learned) (26)
      • Dev Projects (9)
      • Algorithm Solving (67)
        • Java (52)
        • SQL (15)
      • Java Study (24)
        • Basics (3)
        • Advanced (3)
        • Frameworks (17)
        • Etc (1)
      • Certifications (8)
        • 정보처리기사 실기 (8)
  • 인기 글

  • 태그

    jpa
    HTML
    sql
    백준
    BOJ
    BFS
    bootstrap
    javascript
    Firebase
    그리디
    jQuery
    프로그래머스
    다이나믹프로그래밍
    자료구조
    Google Fonts
    CSS
    jwt
    완전탐색
    stack
    join
    시뮬레이션
    백트래킹
    dp
    DFS
    Subquery
    mysql
    greedy
    GROUP BY
    programmers
    java
  • 최근 글

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
기만나🐸
[programmers] SQL Lv. 2 - 동명 동물 수 찾기
상단으로

티스토리툴바