我需要按天计算记录,即使当天没有记录。
数天,确定,轻松。
但我怎样才能打印出信息,在2018-01-10的那一天是0记录)
我应该按级别使用连接吗?请,任何帮助都会很好。不能使用plsql,只能使用oracle sql
答案 0 :(得分:1)
首先,您可以在内联视图中生成所需的每个日期。我选择了当年的每个日期,因为您没有指定。然后,您使用该表中的任何日期字段在日期中保留外部联接。如果依靠源表中的非空字段,那么它将在没有连接的日期计算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