mysql插入数据

时间:2011-04-22 18:42:42

标签: php mysql interpolation

是否有“简单方法”从表中获取两行数据,并添加值为“介于两者之间”的行?

我想从每一行中获取纬度,经度和时间戳。将时间戳与前一行的时间戳进行比较,如果时间戳大于我的最小值,则插入新行...相隔1分钟抓两行,每10秒添加一行......

使用存储过程是解决此问题的最佳方法吗?最简单的?

目前正在使用mySql和PHP ......

1 个答案:

答案 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)

这会返回NULLlat lng值的表格,其中不是 10秒标记的条目,所以你可以迭代并为那些做数学。请记住,只有当您拥有的所有数据点(开始和结束时)都在10秒标记上时,这才有效。