단의 개발 블로그

입양 시각 구하기(2) 본문

Algorithm/SQL

입양 시각 구하기(2)

danso 2024. 8. 20. 18:05

💡 문제설명

ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME 각각 동물의 아이디, 생물 , 입양일, 이름, 성별  중성화 여부를 나타냅니다.

 

💡 문제

보호소에서는 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 0시부터 23시까지, 시간대별로 입양이 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다.

 

예시

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

 

 풀이

WITH RECURSIVE hours as (
    SELECT 0 as hour
    UNION ALL
    SELECT hour + 1
    FROM hours
    WHERE hour < 23
)

SELECT
    LPAD(h.hour, 2, '0') as HOUR,
    IFNULL(COUNT(AO.ANIMAL_ID), 0) as COUNT
FROM 
    hours h
LEFT OUTER JOIN
    ANIMAL_OUTS AO
ON h.HOUR = HOUR(AO.DATETIME)
GROUP BY HOUR

 

출처

https://school.programmers.co.kr/learn/challenges?tab=sql_practice_kit

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

언어별 개발자 분류하기  (0) 2024.08.26
가격대 별 상품 개수 구하기  (0) 2024.08.20
입양 시각 구하기(1)  (2) 2024.08.20
년, 월, 성별 별 상품 구매 회원 수 구하기  (0) 2024.08.08
동명 동물 수 찾기  (0) 2024.08.08