DataBase > Oracle/Tibero

통계/소계 등 통계치취득 ( GROUP BY ROLLUP)

각종 통계치 취득

일별, 시간별 통계치 취득


SELECT 
      TO_CHAR(DATE_COL, 'YYYY/MM/DD HH24') AS TIMESLOT
    , COUNT(*) AS CNT 
FROM TBL_SOME
GROUP BY TO_CHAR(DATE_COL, 'YYYY/MM/DD HH24') 
ORDER BY 1;

시간대별 통계치 취득

SELECT 
      TO_CHAR(DATE_COL, 'HH24') AS TIMESLOT
    , COUNT(*) AS CNT 
FROM TBL_SOME
GROUP BY TO_CHAR(DATE_COL, 'HH24') 
ORDER BY 1;

연별 시간별 통계치 취득

SELECT 
      TO_CHAR(DATE_COL, 'YYYY HH24') AS TIMESLOT
    , COUNT(*) AS CNT
FROM TBL_SOME
GROUP BY TO_CHAR(DATE_COL, 'YYYY HH24')
ORDER BY 1;

통계 + 소계 취득

년,월,일,시간 대별 통계치 취득 + 일별소계, 월별소계, 년별소계를 같이 취득

SELECT   
      TO_CHAR(DATE_COL, 'YYYY') AS YY
    , TO_CHAR(DATE_COL, 'MM') AS MM
    , TO_CHAR(DATE_COL, 'DD') AS DD
    , TO_CHAR(DATE_COL, 'HH24') AS TM
    , COUNT(*) AS CNT
FROM TBL_SOME
GROUP BY ROLLUP(TO_CHAR(DATE_COL, 'YYYY'),TO_CHAR(DATE_COL, 'MM'),TO_CHAR(DATE_COL, 'DD'),TO_CHAR(DATE_COL, 'HH24'))
ORDER BY 1;