补齐SQL查询结果中缺失的日期(按天)
-- 按月补齐天数
SELECT DAY.DATE_STR,SALE_SEG_NUM
from
(
SELECT
TO_CHAR (
TO_DATE ('2014-03-01', 'yyyy-mm-dd') + LEVEL - 1,
'yyyy-mm-dd'
) AS DATE_STR
FROM
dual CONNECT BY LEVEL <= TO_DATE ('2014-04-01', 'yyyy-mm-dd') - TO_DATE ('2014-03-01', 'yyyy-mm-dd')
) DAY
LEFT OUTER JOIN
(
SELECT
TO_CHAR (
T .out_tkt_time,
'yyyy-MM-dd'
) AS DATE_STR,
COUNT (T .TICKET_ID) AS SALE_SEG_NUM
FROM
ticket_info T
WHERE TO_CHAR (T .out_tkt_time, 'yyyy-MM') = '2014-03'
GROUP BY
TO_CHAR (
T .out_tkt_time,
'yyyy-MM-dd'
)
order BY
TO_CHAR (
T .out_tkt_time,
'yyyy-MM-dd'
)
)RESULT ON DAY.DATE_STR = RESULT.DATE_STR
ORDER BY DAY.DATE_STR