Прежде всего, я не являюсь носителем английского языка, и это трудно объяснить. Если у вас есть какие-либо сомнения, сообщите мне.Как сделать запрос цикла sql, чтобы проверить разницу между значениями?
Мы используем устройство слежения за автотранспортными средствами GPS, которое запрограммировано на отправку и хранение в БД места в автомобиле каждые 5 минут, когда оно не перемещается, и каждые 100 метров при движении.
В этой БД имеется таблица под названием «vehicle_gps», в которой хранятся данные со значениями, такими как скорость, положение, дата и время, vehicle_gps_id.
Мне нужен какой-то запрос, который покажет разные позиции, где транспортное средство остановилось более определенного времени (например, 2 минуты, отбрасывая светофоры).
Например, мне нужно что-то, что может сказать мне следующее: «Автомобиль был на Positon1 (P1) в 8:00, он оставил P1 в направлении P2, достигнув отметки 8.20. Автомобиль остался на P2 до 10.20 и он достиг P3 в 10.50"
пример записей в таблице
vehicle_gps_id | datetime---------- | latitude | longitude | speed
1000------------| 05/16/2012 08:00:00|50.0000 |50.00000 |40 (km/h)
1001------------| 05/16/2012 08:01:00|51.0000 |51.00000 |38 (km/h)
1002------------| 05/16/2012 08:01:23|51.0045 |50.000054 |40 (km/h)
1003------------| 05/16/2012 08:01:40|51.00540 |51.0005430 |39 (km/h)
.
.
.
1040------------| 05/16/2012 08:20:40|53.00540 |53.0005430 |0 (km/h)
1041------------| 05/16/2012 08:25:40|53.00540 |53.0005430 |0 (km/h)
1042------------| 05/16/2012 08:30:40|53.00540 |53.0005430 |0 (km/h)
.
.
.
1060------------| 05/16/2012 10:20:40|53.00540|53.0005430|20 (km/h)
Как я могу сделать что-то подобное?
До сих пор я мог получить разницу в минутах между фиксированными позициями, и по этой причине мне нужен цикл, который бы проверял все даты между позициями и прерывался всякий раз, когда разница была больше 5 минут, а это означает, что автомобиль остановился.
ТИА
Спасибо за ваш ответ. Я получаю 2 ошибки: 1) «Неверный синтаксис рядом с ключевым словом SET», прямо под комментарием. 2) «Неверный синтаксис возле VehicleCursor», в конце. –
А я забыл изменить имя переменной, не знаю, исправит ли она обе проблемы, я отредактировал ее, чтобы повторить попытку. – jeschafe
Я не изменял комментарий, поэтому сообщение об ошибке = P. С другой стороны, я до сих пор не знаю, как отображать нужную информацию на каждом перерыве. Чтобы проверить, что он работает, я сделал запрос select, поэтому он дает мне 8 результатов запроса, что является правильным, потому что это количество остановок автомобиля. В любом случае, еще раз спасибо за вашу помощь –