2011-04-22 24 views
0

是否有'簡單的方法'從表中獲取兩行數據,並添加具有'in-between'值的行?mysql插值數據

我想抓住每一行的緯度,經度和時間戳。將時間戳與前一行的時間戳進行比較,如果時間戳大於我的最小值,則插入新行...每隔1分鐘抓住兩行並每10秒添加一行...

正在使用存儲程序最好的辦法去做這件事?最簡單的?

目前使用MySQL和PHP ...

回答

2

我只想獲取數據和做數學在PHP。 SQL不是那麼多功能,你會爲自己節省一點頭痛。

編輯:其實,只是爲了它的樂趣,你可以通過左加入到一個日曆表,讓數學更容易。

首先,您需要一個表格ints,其值爲0-9。然後,你可以這樣做:

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) 

這將返回與latNULLlng一個表,其中有在10秒標記的條目,所以你可以遍歷和做數學題只爲那些。請記住,只有當你擁有的所有數據點(開始和結束除外)都以10秒的時間着陸時,這才起作用。