Получить предыдущую дату в Mysql

0

У меня есть таблица, отформатированная так:

Дата | ID | Значение | Разница

Мне нужно получить разницу между столбцом значения записи и столбцом предыдущего столбца, основанным на дате.

то есть

2 дня назад | корова | 1 | Null

Вчера | корова | 2 | Null

Сегодня | корова | 3 | Null

Сегодня разница будет 1, а сегодня разница будет 1.

в принципе, мне нужно получить предыдущую запись, основанную на дате, я не знаю интервала между каждой записью. Некоторое время я был в тупике. Я использую Mysql и Python для выполнения большинства вычислений.

  • 1
    Это одна из немногих новых функций, которые может сделать электронная таблица, чего не может сделать БД (AFAIK). Вы можете использовать внешний язык, чтобы рассчитать это, конечно.
Теги:

2 ответа

0
Лучший ответ

Используйте SELECT... WHERE date <= NOW() && date >= ( NOW() - 90000 ) (90 000 - это 25 часов, что дает вам небольшую свободу действий со временем вставки), а затем берет разницу между строками в python.

  • 0
    Я немного заржавел, поэтому мой синтаксис может быть отключен.
0

В 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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню