【发布时间】:2018-06-12 04:58:04
【问题描述】:
我需要按天计算记录,即使当天没有记录。
按天数,当然,很容易。
但是我怎样才能打印信息,'在 2018-01-10 日是 0 条记录)
我应该使用按级别连接吗?拜托,任何帮助都会很好。不能用plsql,只能用oracle sql
【问题讨论】:
我需要按天计算记录,即使当天没有记录。
按天数,当然,很容易。
但是我怎样才能打印信息,'在 2018-01-10 日是 0 条记录)
我应该使用按级别连接吗?拜托,任何帮助都会很好。不能用plsql,只能用oracle sql
【问题讨论】:
首先,您在内联视图中生成所需的每个日期。我选择了当年的每个日期,因为您没有指定。然后,您使用该表中的任何日期字段将外部联接保留在日期上。如果您依靠源表中的非空字段,那么它将在没有连接的日子计算 0 行。
select Dates.r, count(tablename.id)
from (select trunc(sysdate,'YYYY') + level - 1 R
from dual
connect by level <= trunc(add_months(sysdate,12),'YYYY') - trunc(sysdate,'YYYY')) Dates
left join tablename
on trunc(tablename.datefield) = Dates.r
group by Dates.r
【讨论】: