您的位置:首页 > 数据库

etl:使用sql处理业务的实例

2018-03-14 09:33 260 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息