怎么判断数据库两个表时间粒度的大小
如何判断数据库两个表时间粒度的大小
比如一张表数据粒度全是15分钟,像2015/03/15 12:15 2015/03/15 12:30。。。。,另一张表全是半小时级,像2015/03/15 12:30 2015/03/15 13:00:00,怎么判断两个表哪个时间粒度大,然后按时间粒度大的进行数据合并,比如这里第二个表时间粒度大,就得把第一张表按半小时合并,就得把2015/03/15 12:15 2015/03/15 12:30这两行的数据sum求和,时间粒度还有小时级和天级的
------解决思路----------------------
没张表按时间排列之后取top2条记录,然后比较一下时间差不就得到时间粒度了
你这里举的例子是正好是倍数的关系,有没有不是倍数的关系
然后你是要查询得到结果还是要修改数据?
------解决思路----------------------
该用内存操作的,就得按内存操作
不要企图一条sql语句就把这种毫无关联的数据都给合并出来
你举的例子刚好是整数倍,而且时间相同
如果一个表里是12:01,12:31,另一个表里是12:00,12:10.你想怎么合并?
这就得自己循环做if语句判断
------解决思路----------------------
按待判别的字段聚类,结果集行数少的可判为粒度大
左链接粒度小的表,聚类求和即可(聚类键需缩短)
------解决思路----------------------
你这种时间还会断续的,那你让代码情何以堪呢,只能排序后遍历所有两个时间相差值最小的数字,然后按你这种会断续的逻辑,那合并又只能遍历合并,你这种还是读取数据出来到程序里去做循环吧
而且你还有12:00 12:15 12:30 另外一个是 11:45 12:15这种合并究竟如何合法的问题,也就是究竟是12:00+12:15还是 12:15+12:30的问题
比如一张表数据粒度全是15分钟,像2015/03/15 12:15 2015/03/15 12:30。。。。,另一张表全是半小时级,像2015/03/15 12:30 2015/03/15 13:00:00,怎么判断两个表哪个时间粒度大,然后按时间粒度大的进行数据合并,比如这里第二个表时间粒度大,就得把第一张表按半小时合并,就得把2015/03/15 12:15 2015/03/15 12:30这两行的数据sum求和,时间粒度还有小时级和天级的
------解决思路----------------------
没张表按时间排列之后取top2条记录,然后比较一下时间差不就得到时间粒度了
你这里举的例子是正好是倍数的关系,有没有不是倍数的关系
然后你是要查询得到结果还是要修改数据?
------解决思路----------------------
该用内存操作的,就得按内存操作
不要企图一条sql语句就把这种毫无关联的数据都给合并出来
你举的例子刚好是整数倍,而且时间相同
如果一个表里是12:01,12:31,另一个表里是12:00,12:10.你想怎么合并?
这就得自己循环做if语句判断
------解决思路----------------------
按待判别的字段聚类,结果集行数少的可判为粒度大
左链接粒度小的表,聚类求和即可(聚类键需缩短)
------解决思路----------------------
你这种时间还会断续的,那你让代码情何以堪呢,只能排序后遍历所有两个时间相差值最小的数字,然后按你这种会断续的逻辑,那合并又只能遍历合并,你这种还是读取数据出来到程序里去做循环吧
而且你还有12:00 12:15 12:30 另外一个是 11:45 12:15这种合并究竟如何合法的问题,也就是究竟是12:00+12:15还是 12:15+12:30的问题