解决oracle里用一个语句实现固定时间间隔的记录数统计,比如统计表tb_clubbase中时间类型的cb_regdate字段每隔3天的记录数。如:2007-8-1到2007-8-3,2007-8-4到2007-8-6......各自范围内的记录数
这种情况可以用来做每个季度的统计
sql语句如下所示:
select count(1)
from (select floor((to_char(t.cb_regdate,'yyyymmdd') - '20070101') / 3) as col, t.*
from tb_clubbase t where to_char(t.cb_regdate,'yyyymmdd') between '20070101' and '20080101' ) t1
group by col
其中t.cb_regdate是数据库中的时间字段,'20070101 '是开始时间,'20080101 '是结束时间,"3"是固定的时间间隔天数。