sql
SQL 프로그래머스 - 입양 시각 구하기(2)
jyuuni
2023. 6. 19. 12:48
반응형
입양 시각 구하기(2)
- 동물 보호소에서 입양 보낸 동물의 정보를 담은 ANIMAL_OUTS 테이블
ANIMAL_ID | ANIMAL_TYPE | DATETIME | NAME | SEX_UPON_INTAKE |
동물 ID | 동물 종 | 입양일 | 이름 | 성별 및 중성화 여부 |
* ANIMAL_ID는 ANIMAL_INS의 ANIMAL_ID의 외래 키
문제
보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 0시부터 23시까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다.
문제 풀이
WITH RECURSIVE CTE AS (
SELECT 0 AS HOUR
UNION ALL
SELECT HOUR + 1 FROM CTE
WHERE HOUR < 23
)
SELECT HOUR, COUNT(A.DATETIME) AS COUNT
FROM CTE
LEFT OUTER JOIN ANIMAL_OUTS AS A
ON CTE.HOUR = HOUR(A.DATETIME)
GROUP BY HOUR;
*0부터 23까지의 임의의 행을 만들기 위해 WITH RECURSIVE 함수 활용
문제 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/59413
반응형