SQL 알고리즘 코드카타

SQL 알고리즘 코드카타 10일차(3) 26.01.08(목)

nom_de_plume 2026. 1. 8. 11:11

부제:

입양 시각 구하기, 레벨 2

 

1. 문제 링크:https://school.programmers.co.kr/learn/courses/30/lessons/59412
2. 정답 코드: 

SELECT 
    HOUR(DATETIME) AS HOUR,
    COUNT(HOUR(DATETIME)) AS COUNT
FROM ANIMAL_OUTS
WHERE HOUR(DATETIME) BETWEEN 9 AND 19
GROUP BY HOUR
ORDER BY HOUR


3. 오류 상황:

SELECT 
    DATE_FORMAT(DATETIME, '%H') AS HOUR,
    COUNT(DATE_FORMAT(DATETIME, '%H')) AS COUNT
FROM ANIMAL_OUTS
GROUP BY HOUR
ORDER BY HOUR

=> AI에게 조언구함. DATE_FORMAT() 혹은 HOUR() 사용 추천
4. 시도 방법:

SELECT 
    HOUR(DATETIME) AS HOUR,
    COUNT(HOUR(DATETIME)) AS COUNT
FROM ANIMAL_OUTS
GROUP BY HOUR
ORDER BY HOUR

=> DATE_FORMAT() 에서 HOUR()로 변경

5. 최종 문제 해결 방법:

=> HOUR(컬럼)으로 컬럼의 시간만 표시되게 사용

=> 누락된 조건을 추가.  09:00부터 19:59까지 의 조건을 WHERE절에 추가