那个 between(a.call_date -7) 应该是 between(a.call_date -6),  between算的是个闭区间,所以应该是减6天,上面的那个地方写错了,不好意思。

解决方案 »

  1.   


    您的这个写法,我有点担忧:
    以为表t1的数据量是有1亿条之多,你这样的关联效率会好慢,外加你所有的count()函数里都要加上distinct,这样就更慢了其实我后面还有2个字段没列出来,名字叫做:最近1个月人数,最近3个月人数(字段都是以当前天,向前数1个月,2个月的)
    貌似性能相当悲剧哦
      

  2.   

    还是那句话,建物化视图,
    先把select count(手机号),trunc(时间) from 表 group by trunc(时间)做成物化视图,起码行数少了一千倍不止。然后再对这个物化视图用几个窗口函数,搞定了。