gpt4 book ai didi

sql - 如何填补空记录之间缺失的日期?

转载 作者:行者123 更新时间:2023-12-05 07:30:05 26 4
gpt4 key购买 nike

我试图在空记录之间填充日期,但没有成功。尝试做多重选择方法,尝试加入,但似乎我错过了重点。我想生成缺少日期的记录,以从此代码块生成图表。首先,我希望“手动”填写日期,稍后我将重新组织这段代码,并将该方法换成一个参数。

谁能帮我解决这个问题?

SELECT
LOG_LAST AS "data",
SUM(run_cnt) AS "Number of runs"

FROM

dual l
LEFT OUTER JOIN "LOG_STAT" stat ON
stat."LOG_LAST" = l."CLASS"

WHERE

new_class = '$arg[klasa]'



--SELECT to_date(TRUNC (SYSDATE - ROWNUM), 'DD-MM-YYYY'),
--0
--FROM dual CONNECT BY ROWNUM < 366

GROUP BY
LOG_LAST
ORDER BY

LOG_LAST

//编辑:

LOG_LAST 只是一个带有日期的列(例如:25.04.2018 15:44:21),run_cnt 是一个只有简单数字的列,LOG_STAT 是一个包含 LOG_LAST 和 run_cnt 的表,new_class 是一个带有名称的列的记录 我想列出记录,即使它们不存在。例如:我有日期为 24-09-2018、23-09-2018、20-09-2018、18-09-2018 的记录,我想列出即使没有名称和 run_cnt 的记录,但要生成 missing某个时期的日期

最佳答案

尝试用isnull填充:

SELECT
case when trim(LOG_LAST) is null then '01-01-2018'
else isnull(LOG_LAST,'01-01-2018')end AS data,
SUM(isnull(run_cnt,0)) AS "Number of runs"

FROM

dual l
LEFT OUTER JOIN "LOG_STAT" stat ON
stat."LOG_LAST" = l."CLASS"

WHERE

new_class = '$arg[klasa]'



--SELECT to_date(TRUNC (SYSDATE - ROWNUM), 'DD-MM-YYYY'),
--0
--FROM dual CONNECT BY ROWNUM < 366

GROUP BY
LOG_LAST
ORDER BY

LOG_LAST

关于sql - 如何填补空记录之间缺失的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52492024/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com