상세 컨텐츠

본문 제목

프로그래머스 입양 시각 구하기(2) (MYSQL)

programmers/sql

by nownow 2024. 2. 13. 06:09

본문

 

풀이 1

SET @H=-1;
SELECT
@H:=@H+1,
(
    SELECT
    COUNT(*) AS COUNT
    FROM
    ANIMAL_OUTS
    WHERE @H=HOUR(DATETIME)
)
FROM
ANIMAL_OUTS
WHERE
@H<23

@ 이용 변수 만들어 사용. 대입시에은 :=사용 (구분)

FROM 절이 들어가지 않으면 정상 작동하지 않는다.

 

 

풀이 2 

WITH RECURSIVE TEMP AS(
    SELECT 0 AS HOUR
    UNION ALL
    SELECT HOUR+1 FROM TEMP
    WHERE HOUR<23
)
SELECT 
HOUR,
(
    SELECT
    COUNT(*)
    FROM
    ANIMAL_OUTS
    WHERE
    HOUR(DATETIME)=HOUR
)

FROM
TEMP

RECURSIVE TEMP 사용.

관련글 더보기