Я борюсь с Mysql Code, и я понятия не имею, как решить эту проблему. У меня есть два столбца со значением времени, по которым я упорядочил по desc в результате Mysql Query.
Мне нужно выяснить разницу между 2-й строкой StateEndTime и 1-й строкой StateStarTtime и т.д. И отобразить это в новой строке/столбце. Финальная таблица должна выглядеть так:
ID Type StateStarTtime StateEndTime Min Difference
xxx YYY 03:57 03:59 00:02
xxx ZZZ 03:53 03:55 00:04
xxx ZZZ 03:46 03:49
Вы должны получить max(stateendtime)
, которое меньше, чем текущее состояние stateendtime
и вычтите это из состояния времени statestarttime
:
select
t.*,
left(timediff(
t.statestarttime,
select max(stateendtime) from tablename where stateendtime < t.stateendtime
), 5) mindifference
from tablename t
order by t.statestarttime desc
SELECT id,startTime,endTime,type,TIMEDIFF(endTime,startTime) as min_df FROM tasks where 1