1、在某个系统中有一个查询记录表,求查询的记录数用于评分卡中进行评分?注:“查询操作员”是同一个,并且查询日期间隔小于14天,只算一次(只看机构查询)。
表结构如下:
解决方法:使用累差法,使每一个记录的日期和最小日期相减,再除以区间,获取整数得到当前记录位于哪个区间。
假设表名是queryRecord,表的字段分别是:queryType,queryDate,queryName,queryReason,另在表中新加一个状态标记字段flag。
1、为同一区间的日期加上相同的标志
update queryRecord_temp_test20180307 a,(select min(queryDate) minDate from queryRecord_temp_test20180307) b set a.flag=floor(datediff(a.queryDate,b.minDate)/14)
2、统计不同标志的个数
select count(distinct(flag)) from queryRecord_temp_test20180307