以固定时间频率增长的数据如何统计相同标志位的次数
如有以下数据
datetime flag
2017-08-03 12:10:00 0
2017-08-03 12:10:10 0
2017-08-03 12:10:20 1
2017-08-03 12:10:30 1
2017-08-03 12:10:40 1
2017-08-03 12:10:50 0
2017-08-03 12:11:00 0
2017-08-03 12:11:10 1
2017-08-03 12:11:20 1
2017-08-03 12:11:30 1
2017-08-03 12:11:40 0
目前需要统计出flag持续为1的时间段,如统计结果需要如下
flag start_datetime end_datetime
1 2017-08-03 12:10:20 2017-08-03 12:10:50
1 2017-08-03 12:11:10 2017-08-03 12:11:30
因为数据量太大,用代码写判断感觉好慢,大家有没有好的方法使用统计学的方法统计出来呢,也可以是数据库分析函数或者代码思路也可以。目前数据是存储在数据库上的。在此感谢在这回答的各位。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
不考虑数据量庞大超过计算机内存上限的情况下,下面这样可以
如数据在a.txt
可否在写入数据的时候增加一个标记字段,插入的时候连续不变的范围使用相同标记字段,而且每个范围的标记字段都不同,可以做后期分组查询使用,标记字段可以尝试md5什么的,类似下边这种,不知道这样设计可以不
2017-08-03 12:10:00 0 axdsdasdfsa
2017-08-03 12:10:10 0 axdsdasdfsa
2017-08-03 12:10:20 1 ax1111asdfd
2017-08-03 12:10:30 1 ax1111asdfd
2017-08-03 12:10:40 1 ax1111asdfd
2017-08-03 12:10:50 0 asfasfsdffa
2017-08-03 12:11:00 0 asfasfsdffa
问题通过数据库方式解决,只需要写sql解决了,不需要通过再次编写代码解决,再次感谢大家的回答