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

Halo·2021년 10월 15일
0

MySQL

목록 보기
1/2

1.

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

쿼리에서 변수 사용하기

  • SET @변수;
  • 쿼리에서 '='는 등호 이므로 ':='로 대입

2.

WITH RECURSIVE TEMP AS(
    SELECT 0 AS HOUR
    UNION ALL
    SELECT HOUR + 1 
    FROM TEMP
    WHERE HOUR<23)
    
SELECT TEMP.HOUR, COUNT(HOUR(ANIMAL_OUTS.DATETIME)) AS COUNT
FROM TEMP LEFT JOIN ANIMAL_OUTS ON TEMP.HOUR = HOUR(ANIMAL_OUTS.DATETIME)
GROUP BY TEMP.HOUR
ORDER BY TEMP.HOUR
profile
일단 해보자 !

0개의 댓글