У меня есть таблица, отформатированная так:
Дата | ID | Значение | Разница
Мне нужно получить разницу между столбцом значения записи и столбцом предыдущего столбца, основанным на дате.
то есть
2 дня назад | корова | 1 | Null
Вчера | корова | 2 | Null
Сегодня | корова | 3 | Null
Сегодня разница будет 1, а сегодня разница будет 1.
в принципе, мне нужно получить предыдущую запись, основанную на дате, я не знаю интервала между каждой записью. Некоторое время я был в тупике. Я использую Mysql и Python для выполнения большинства вычислений.
Используйте SELECT... WHERE date <= NOW() && date >= ( NOW() - 90000 )
(90 000 - это 25 часов, что дает вам небольшую свободу действий со временем вставки), а затем берет разницу между строками в python.
В Python, хранимой процедуре или другом языке:
Query Data using your criteria
Fetch first record
Begin Loop
Get value of previous record by executing another query (select value from table where date<current_record_date order by date desc limit 1)
Update current_record set diff=value-previous value
Fetch next record, exit loop if no more
Iterate Loop