是否有“简单方法”从表中获取两行数据,并添加值为“介于两者之间”的行?
我想从每一行中获取纬度,经度和时间戳。将时间戳与前一行的时间戳进行比较,如果时间戳大于我的最小值,则插入新行...相隔1分钟抓两行,每10秒添加一行......
使用存储过程是解决此问题的最佳方法吗?最简单的?
目前正在使用mySql和PHP ......
答案 0 :(得分:2)
我只是抓取数据并用PHP进行数学运算。 SQL并不是那么通用,而且你会为自己省事。
编辑:实际上,只是为了它的乐趣,您可以通过左键加入日历表来简化数学运算。
首先,您需要一个值为{0-9的表ints
。然后你可以做类似的事情:
SELECT cal.t, lat, lng FROM (
SELECT {start_time} + INTERVAL (t.i*1000 + u.i*100 + v.i*10) SECOND as t
FROM ints as t
JOIN ints as u
JOIN ints as v
WHERE t <= {end_time}
) LEFT JOIN locations ON (cal.t = locations.stamp)
这会返回NULL
和lat
lng
值的表格,其中不是 10秒标记的条目,所以你可以迭代并为那些做数学。请记住,只有当您拥有的所有数据点(开始和结束时)都在10秒标记上时,这才有效。