id loginTime logoutTime onlineTime
201 2014-06-01 12:00:00 2014-06-03 12:00:00 172800
注:172800即48小时,也就是logoutTime与loginTime的时间差
如何变为如下表即记录:
id loginTime logoutTime onlineTime
201 2014-06-01 12:00:00 2014-06-01 23:59:59 43200
201 2014-06-02 00:00:00 2014-06-02 23:59:59 86400
201 2014-06-03 00:00:00 2014-06-02 12:00:00 43200
简单的说就是将一条跨越3天的记录分成3条单天的记录~~谢谢指点!
7 个解决方案
#1
是不是在你程序insert的时候就应该判断是否超过一天,然后分别insert,而不是insert后怎么考虑修改记录
#2
这种只有写存储过程了或者在代码里面判断之后,汇总成insert的sql了。
#3
原表是一个log,先保持最初的格式存储,不做处理,后面根据需要再处理,就像现在
#4
ONLINETIME是按半天,还是一天分出来,还是不固定的?有固定的分割还是好处理
#5
创建一张包括所有日期的辅助表,然后可以利用JOIN查询来实现。
#6
楼上这个方法可以考虑一下。
#7
这个方法可行,结贴了
#1
是不是在你程序insert的时候就应该判断是否超过一天,然后分别insert,而不是insert后怎么考虑修改记录
#2
这种只有写存储过程了或者在代码里面判断之后,汇总成insert的sql了。
#3
原表是一个log,先保持最初的格式存储,不做处理,后面根据需要再处理,就像现在
#4
ONLINETIME是按半天,还是一天分出来,还是不固定的?有固定的分割还是好处理
#5
创建一张包括所有日期的辅助表,然后可以利用JOIN查询来实现。
#6
楼上这个方法可以考虑一下。
#7
这个方法可行,结贴了