一张表里面有TerminalSign(唯一),FullOrEmpty(状态:0 or 1),GpsTime(GPS时间),等还有一些其它不太过于重要的字段,当状态处于0时每五秒产生一条数据;如第一条数据
TerminalSign:001,FullOrEmpty:0,GpsTime:2013/719 15:24:30 第二条数据则是:
TerminalSign:001,FullOrEmpty:0,GpsTime:2013/719 15:24:35以此类推直到状态到1时就会变成30秒产生一条数据,然后数据以此类推直到状态再次变成0;这样的话一天下来就会产生N条数据,我现在要做的就是把相同状态连续起来的数据组成一条新数据;如TerminalSign=001的,连续10条数据状态都是0的然后组成一条数据显示为TerminalSign,FullOrEmpty,starettime(取第一个状态为0的时间),endtime(取最后一个0也就是和1接近的那个 0的时间);特殊情况:如果0后面有1且接下来只有一个1接下来就是0的话就干掉这条数据;同样状态是1显示原理也一样;还有如果状态为0连续很久以后变成1然后1连续很久变成0那么后面0的开始时间是1最后那个1的结束时间;终上所述:用.net或者perl实现;求各位大神们帮帮忙;希望能来源码;别给我参考资料;我还是初级;不大看懂!谢谢!!!
没看明白什么意思
TerminalSign,FullOrEmpty,GpsTime,
001 0 2013/719 15:24:30
001 0 2013/719 15:24:35
你这表里是联合主键(TerminalSign,FullOrEmpty,GpsTime)?
你要的结果是 TerminalSign:001 FullOrEmpty:0 starttime:2013/719 15:24:30 endtime: 2013/719 15:24:35
你说的比较乱。。。我这样理解的对么。。。要么没法帮你解决
对的!不过产生的不是几条;而是很多条;而且数据FullOrEmpty=0的状态连续的数据;和你说的基本差不多;求指教
TerminalSign Longitude Latitude speed direction FullOrEmpty GpsTime
086749301 1201129 30291 0 0 0 2013-07-12 14:40:12.00
TerminalSign Longitude Latitude speed direction FullOrEmpty GpsTime
086749301 1201129 30291 0 0 0 2013-07-12 14:40:12.05
TerminalSign Longitude Latitude speed direction FullOrEmpty GpsTime
086749301 1201129 30291 0 0 0 2013-07-12 14:40:12.10
TerminalSign Longitude Latitude speed direction FullOrEmpty GpsTime
086749301 1201129 30291 0 0 1 2013-07-12 14:40:12.15
TerminalSign Longitude Latitude speed direction FullOrEmpty GpsTime
086749301 1201129 30291 0 0 1 2013-07-12 14:40:12.45
上面是数据库,我现在要做的效果:
TerminalSign Longitude Latitude speed direction FullOrEmpty startTime
086749301 1201129 30291 0 0 1 2013-07-12 14:40:12.00
endtime
2013-07-12 14:40:12.10
我要在TerminalSign相同 FullOrEmpty在同一状态( FullOrEmpty 0 or 1)且连续的情况下提取所需的数据汇成一条数据 并且显示!!!