💻 하나씩 차곡차곡/프로그래머스 (SQL)

[GROUP BY/LEVEL4] 입양 시각 구하기(2) (MySQL/Oracle)

뚜루리 2023. 4. 21. 08:01
728x90
320x100

MySQL

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

 


 

Oracle

SELECT D.HOUR, NVL(O.CNT,0)AS COUNT 
FROM (SELECT LEVEL - 1 AS HOUR FROM DUAL CONNECT BY LEVEL <= 24) D,
    (SELECT TO_CHAR(DATETIME,'HH24') AS HOUR, COUNT(*) AS CNT FROM ANIMAL_OUTS
    GROUP BY TO_CHAR(DATETIME,'HH24'))O
WHERE O.HOUR(+) = D.HOUR
ORDER BY HOUR
728x90
320x100