按天计算,全天

时间:2018-06-11 15:22:44

标签: database oracle count

我需要按天计算记录,即使当天没有记录。

数天,确定,轻松。

但我怎样才能打印出信息,在2018-01-10的那一天是0记录)

我应该按级别使用连接吗?请,任何帮助都会很好。不能使用plsql,只能使用oracle sql

1 个答案:

答案 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