Dog Feet Developer/ORACLE

[ORACLE] 시간별 통계 데이터 한줄 뽑기

티엔느 2023. 1. 10. 09:57
반응형

SELECT 
    '2022-12-26' AS 날짜,
    MIN((DECODE(B.HH, 0850, CTH))) AS "0850",
    MIN((DECODE(B.HH, 0851, CTH))) AS "0851",
    MIN((DECODE(B.HH, 0852, CTH))) AS "0852",
    MIN((DECODE(B.HH, 0853, CTH))) AS "0853",
    MIN((DECODE(B.HH, 0854, CTH))) AS "0854",
    MIN((DECODE(B.HH, 0855, CTH))) AS "0855",
    MIN((DECODE(B.HH, 0856, CTH))) AS "0856",
    MIN((DECODE(B.HH, 0857, CTH))) AS "0857",
    MIN((DECODE(B.HH, 0858, CTH))) AS "0858",
    MIN((DECODE(B.HH, 0859, CTH))) AS "0859",
    MIN((DECODE(B.HH, 0900, CTH))) AS "0900",
    MIN((DECODE(B.HH, 0901, CTH))) AS "0901",
    MIN((DECODE(B.HH, 0902, CTH))) AS "0902",
    MIN((DECODE(B.HH, 0903, CTH))) AS "0903",
    MIN((DECODE(B.HH, 0904, CTH))) AS "0904",
    MIN((DECODE(B.HH, 0905, CTH))) AS "0905",
    MIN((DECODE(B.HH, 0906, CTH))) AS "0906",
    MIN((DECODE(B.HH, 0907, CTH))) AS "0907",
    MIN((DECODE(B.HH, 0908, CTH))) AS "0908",
    MIN((DECODE(B.HH, 0909, CTH))) AS "0909",
    MIN((DECODE(B.HH, 0910, CTH))) AS "0910",
    MIN((DECODE(B.HH, '', CTH))) AS "TOTAL"  
FROM
(  
  SELECT A.HH,
         COUNT(A.HH) AS CTH
  FROM
  (
    SELECT  
        TO_CHAR(EVT_DT,'HH24MI') AS HH
    FROM 
        USREVTLOG
    WHERE 
    TO_CHAR(EVT_DT, 'YYYYMMDD') = TO_DATE('20221226', 'YYYYMMDD') 
    and  TO_CHAR(EVT_DT, 'HH24MI') >= '0850'
    and  TO_CHAR(EVT_DT, 'HH24MI') <= '0910'
  )A
  GROUP BY ROLLUP(A.HH)
)B

반응형