SQL

[Oracle] 날짜별 데이터 카운트

서리/Seori 2023. 12. 19. 17:22

 

 

특정 테이블의 날짜별 데이터 개수를 추출해야 하는 경우
ex) 23년 12월 1일~5일의 데이터를 날짜별로 카운트해야 한다면

SELECT 
	*
FROM
    (
        SELECT count(*) AS d01
        FROM SCHEMA.TB_NAME
        WHERE TO_CHAR(DATE_COLUMN, 'YYYY-MM-DD') = '2023-12-01'
    ),
    (
        SELECT count(*) AS d02
        FROM SCHEMA.TB_NAME
        WHERE TO_CHAR(DATE_COLUMN, 'YYYY-MM-DD') = '2023-12-02'
    ),
    (
        SELECT count(*) AS d03
        FROM SCHEMA.TB_NAME
        WHERE TO_CHAR(DATE_COLUMN, 'YYYY-MM-DD') = '2023-12-03'
    ),
    (
        SELECT count(*) AS d04
        FROM SCHEMA.TB_NAME
        WHERE TO_CHAR(DATE_COLUMN, 'YYYY-MM-DD') = '2023-12-04'
    ),
    (
        SELECT count(*) AS d05
        FROM SCHEMA.TB_NAME
        WHERE TO_CHAR(DATE_COLUMN, 'YYYY-MM-DD') = '2023-12-05'
    )

 

 

TB_NAME은 해당 테이블명,

DATE_COLUMN 은 데이터가 들어간 시간을 sysdate로 저장하는 칼럼으로, 날짜와 시간이 같이 저장되어 있다. (ex) 2023-12-01-12.59.59 )

쿼리 실행결과에서 d01,d02,d03,d04,d05 라는 칼럼명으로 각 날짜별 데이터 카운트값을 얻을 수 있다.


더 나은 쿼리가 있겠지만 시간이 부족했다... 나중에 가능하면 고쳐보기