历史版本5 :通过时间间隔从大数据量中筛选数据 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 问题描述编辑

当数据库里面数据量很大的时候,有个时间字段,而且时间字段是每分钟或者每秒钟都会有一条数据生成的时候。我们可以通过时间间隔来筛选数据,从而显示出来想要浏览的数据。例如实现如下效果:
在starttime和endtime里面输入查询时间的范围,然后在number里面输入间隔数为3,意思就是每隔3秒的数据才显示出来。

2. 实现步骤编辑

2.1 增加数据集
新建工作簿,添加数据集ds1,SQL语句:
SELECT *,datediff(s,convert(varchar(100),datets,111),convert(varchar(100),datets,120))%${number} as jg FROM dbo.datetest where 1=1 ${if(len(starttime)==0,"","and CONVERT(varchar(100),datets,120)>='"+ starttime +"'")} ${if(len(endtime)==0,"","and CONVERT(varchar(100),datets,120)<='"+ endtime +"'")}
说明:datediff(s,convert(varchar(100),datets,111),convert(varchar(100),datets,120))%${number} as jg //DateDiff 函数可用来决定两个日期之间所指定的时间间隔数目.${number}这个是参数传过来间隔数。中间用%取模获取值为0的。${if(len(starttime)==0,"","and CONVERT(varchar(100),datets,120)>='"+ starttime +"'")} //判断一下如果starttime为空的时候查询所有时间,否则根据CONVERT(varchar(100),datets,120)>='"+ starttime +"'传过来参数进行筛选。
刷新参数,给number参数设置默认值为1。
2.2 表样设计
依据下图设置表样:
给B2添加过滤条件“jg等于 0”。
2.3 参数设计
点击参数界面面板,按照下图设置参数界面:
2.4 分页预览

点击分页预览,输入开始时间,结束时间,间隔数就可以查询了。