Я просто взял бы данные и сделал бы математику в 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)
Это вернет таблицу с NULL
значениями для lat
и lng
, где не запись на 10второй знак, так что вы можете перебрать и сделать математику только для них.Имейте в виду, что это работает, только если все точки данных, которые у вас есть (кроме начала и конца), попадают прямо на 10-секундную отметку.