programmers/sql
프로그래머스 입양 시각 구하기(2) (MYSQL)
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 사용.