У меня есть стол для пробега автомобиля в разных штатах.Составьте группу различий другим colomn
Table: VehicleState
VehicleID Mileage State DateTime
1 3000 TX 2016-09-20 03:00:00
1 3100 TX 2016-09-20 04:00:00
1 3200 OK 2016-09-20 05:00:00
1 3300 OK 2016-09-20 06:00:00
1 3400 OK 2016-09-20 07:00:00
1 3500 TX 2016-09-20 08:00:00
1 3600 TX 2016-09-20 09:00:00
1 3700 TX 2016-09-20 10:00:00
1 3800 TX 2016-09-20 11:00:00
Я хочу получить пробег для этого транспортного средства в каждом штате. Например:
VehicleID Total_Mileage State Date
1 400 TX 2016-09-20
1 200 OK 2016-09-20
Первые две строки указывают на движение транспортных средств не менее 100 миль. Третья запись - 3200, но в этот момент я не знаю, сколько миль транспортное средство находится в TX или OK между временем 4AM и 5AM, я хочу игнорировать разницу между 3100 и 3200. Общий пробег в TX будет 100 (первые два ряда) + 300 (последние четыре строки), что дает мне 400.
В настоящее время я использую огромную хранимую процедуру с курсорами для вычисления. Мне интересно, есть ли более простой способ сделать это. Заранее спасибо.
Я не понимаю, как вы получаете эти значения для своих данных образца. Можете ли вы объяснить, как на самом деле рассчитать 'Total_Mileage'? – Lamak
и как вы тоже обрабатываете дату. –
Почему так, (3800-3000) <> (200 + 400)? – Serg