测试.rar
首先:甲乙丙丁四班的上班时间为小四班,比如:3日的19-4日的1点为甲班,4日1-7点为丁班,4日7-19点为甲班,4日19-5日1点为乙班,5日1-7点为甲班,5日7-19点为乙班,5日19-6日1点为丁班,以此类推。
我想统计出日期控件选择的时间段内,甲乙丙丁整备台数。就是他们对应上班时间入库的数量,比如:甲班在3日的19点至4日1点上班,对应的数据集中 入库数量的入库时间中筛选3日的19点至4日1点的入库数量。
你这排班没有明显的规律
建议做一个排班时间表,大致格式
在根据入库时间来判断就可以统计出各班的入库数量了
筛选分为两个控件,一个时间控件,一个班次控件,数据集中if判断拼接固定时间段即可
例如
select * from table
where 1=1
${if(bz='甲班',"and rq>='"+CONCATENATE(rq," 01:00:00")+"' and rq<='"+CONCATENATE(rq," 07:00:00")+"'",if(bz='乙班',"and rq>='"+CONCATENATE(rq," 07:00:00")+"' and rq<='"+CONCATENATE(rq," 19:00:00")+"'","and rq>='"+CONCATENATE(rq," 19:00:00")+"' and rq<='"+CONCATENATE(DATEDELTA(rq,1)," 01:00:00")+"'"))}