在数据库应用开发中,我们经常需要面对复杂的SQL式计算,区间合并就是其中一种,比如进行不重复时间段汇总,或将重叠的时间段合并等计算。由于SQL集合无序,实现时需要采用递归的方式实现,而对于递归函数不足的数据库实现起来则更加困难。除了递归,SQL实现时还要依赖多层子查询嵌套问题,SQL语句过为冗长使得实现和修改起来都很困难。
集算器在实现这类计算时则比较简单,可以通过直观分步的脚本实现区间合并,下面通过一个例子说明。
用户操作记录表Udetail中存储各用户操作明细记录,部分源数据如下:
ID UID ST ET
1 1001 2014-9-1 10:00:00 2014-9-2 11:30:00
2 1001 2014-9-1 10:30:00 2014-9-2 11:00:00
3 1001 2014-9-3 11:00: