为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:dmv8
【操作系统】:windows
【CPU】:
【问题描述】:
SELECT t1.date,COALESCE (t2.count, 0) AS count
FROM
(
select date_add(DATE_FORMAT('2023-06-08 09:59:20','%Y-%m-%d'),interval @i:=@i+1 day) as date
from (
select 1
union all select 1
) as tmp,
(select @i:= -1) t
) t1
LEFT JOIN (
SELECT
DATE_FORMAT(al.create_time,'%Y-%m-%d') AS date,COUNT() AS count
FROM
t_ec_app_log AS al
WHERE al.app_id=1
AND DATE_FORMAT(al.create_time,'%Y-%m-%d') >= DATE_FORMAT('2023-06-08 09:59:20','%Y-%m-%d')
AND DATE_FORMAT(al.create_time,'%Y-%m-%d') <= DATE_FORMAT('2023-06-08 09:59:20','%Y-%m-%d')
GROUP BY date
) t2 ON t1.date = t2.date
ORDER BY t1.date
现在转到dm该怎么实现sql
SELECT t1.date, NVL(t2.count, 0) AS count
FROM
(
SELECT TO_CHAR(TO_DATE('2023-06-08 09:59:20', 'YYYY-MM-DD HH24:MI:SS') + LEVEL, 'YYYY-MM-DD') as date
FROM dual
CONNECT BY LEVEL <= TO_DATE('2023-06-08 09:59:20', 'YYYY-MM-DD HH24:MI:SS') - TO_DATE('2023-06-08 09:59:20', 'YYYY-MM-DD HH24:MI:SS') + 1
) t1
LEFT JOIN (
SELECT
TO_CHAR(al.create_time,'YYYY-MM-DD') AS date, COUNT(*) AS count
FROM
t_ec_app_log AS al
WHERE al.app_id = 1
AND TRUNC(al.create_time) BETWEEN TO_DATE('2023-06-08 09:59:20', 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE('2023-06-08 09:59:20', 'YYYY-MM-DD HH24:MI:SS')
GROUP BY TO_CHAR(al.create_time,'YYYY-MM-DD')
) t2 ON t1.date = t2.date
ORDER BY t1.date