假设一张表(table)中有一个字段日期(date),要求查询15年8月中每一天在表中的总记录数,不一定每天都有记录,要求结果是以下格式
2015-8-1 3
2015-8-2 2
2015-8-3 0
2015-8-4 1
...
2015-8-31 2

解决方案 »

  1.   

    建立一张时间维度表(按日期)
    然后左连接你要查找的事实表,根据日期关联,没有记录用NVL(记录数,0)
    希望对你有帮助
      

  2.   

    感觉还是在java里做处理好
      

  3.   

    假设记录日期的字段是字符类型非日期类型的,且格式为:'yyyy/mm/dd'with t as
     (select '2015/08/' || lpad(level, 2, '0') col
        from dual
      connect by level <= 31)
    select a.col, count(1)
      from t a
      left join 表 b
        on a.col = b.日期
     group by col
     order by a.col;