【问题标题】:Count by days, with all days按天数,所有天数
【发布时间】:2018-06-12 04:58:04
【问题描述】:

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

按天数,当然,很容易。

但是我怎样才能打印信息,'在 2018-01-10 日是 0 条记录)

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

【问题讨论】:

    标签: database oracle count


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-05-15
      • 2021-05-04
      • 1970-01-01
      • 2010-11-30
      • 2019-02-19
      • 2013-03-19
      • 2019-07-31
      相关资源
      最近更新 更多