프로젝트 진행 중 주간 통계 데이터를 구해야 하는 경우가 있는데
중간중간 비는 날짜가 있어서 없는 날짜를 어떻게 가져올지 막막했다.
질문찬스를 사용해서 아래와 같은 쿼리를 또 새롭게 알았다.
아래 쿼리를 응용해서 원하는 데이터와 조인해서 날짜별 합계나 평균 등을 구할 수 있었다.
-- 입력날짜로 부터 100일 전까지 계산
select '2018-03-21' - INTERVAL (a.a + (10 * b.a)) DAY as Date
from (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as a
cross join (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as b
-- 응용1. 7일전까지 구하기
select '2018-03-21' - INTERVAL (a.a) DAY as Date
from (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6) as a
통계는 어렵다.. @.@
'개발개발 > db' 카테고리의 다른 글
[ORACLE] RANK(순위) 함수 (0) | 2021.03.05 |
---|---|
[ORACLE] 날짜 조회 (0) | 2018.10.24 |
[oracle/mysql] 이전글, 다음글 쿼리 (1) | 2018.08.07 |
[mssql] mssql의 convert 함수 (날짜변환함수) (0) | 2018.06.26 |
[oracle/mysql/mssql] oracle to_char를 mysql에서 사용하려면 (1) | 2018.04.18 |