У меня есть код ниже, который отлично работает. Я на шаг в сторону от его завершения, но я не могу найти оптимальный подход к этой задаче. MySQL? PHP? JavaScript?
Вот моя таблица:
Как вы можете видеть, поле UTL_DURATION пуст.
Описание:
Как и каждый раз, когда пользователь вставляет запись, каждое поле заполняется, кроме UTL_DURATION. Это связано с тем, что UTL_DURATION является вычислением.
Вопрос
Как я могу (на каком языке это лучше всего сделано)? Как можно получить UTL_DTSTAMP из ранее вставленной записи и сравнить ее с вставляемым в настоящее время UTL_DTSTAMP из текущей записи?
Что-то похожее...
SELECT TIMEDIFF('2017-12-16 08:33:55','2017-12-16 08:33:49') AS UTL_DURATION;
... рассказывает нам, сколько времени пользователь потратил на SALE.
Надеюсь, у меня есть смысл,
Спасибо за любую помощь
Обновление 3
TBL_USER_TIME_LOG
CUSTOM SELECT QUERY
SELECT A.pk_user_time_log_id,
A.user_id,
A.utl_dtstamp,
A.utl_event,
A.utl_action,
TIMESTAMPDIFF(HOUR, A.utl_dtstamp, B.utl_dtstamp) AS UTL_DURATION_IN_HRS,
TIMESTAMPDIFF(MINUTE, A.utl_dtstamp, B.utl_dtstamp) AS UTL_DURATION_IN_MIN,
TIMESTAMPDIFF(SECOND, A.utl_dtstamp, B.utl_dtstamp) AS UTL_DURATION_IN_SEC
FROM tbl_user_time_log A
INNER JOIN tbl_user_time_log B
ON B.pk_user_time_log_id = ( A.pk_user_time_log_id + 1 )
ORDER BY A.pk_user_time_log_id ASC;
РЕЗУЛЬТАТ ПОИСКА ПОЛЬЗОВАТЕЛЯ
Другие мысли
Возможно, может быть способ КОНКАТЕНТИРОВАТЬ наши последние три поля результатов в один и форматировать строку, чтобы больше походить на военное время.
USER_ID
, или это не проблема?