Разница во времени между часами в ударах

0

У меня есть код ниже, который отлично работает. Я на шаг в сторону от его завершения, но я не могу найти оптимальный подход к этой задаче. MySQL? PHP? JavaScript?

Вот моя таблица:

Изображение 174551

Как вы можете видеть, поле 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.

Надеюсь, у меня есть смысл,

Спасибо за любую помощь

Теги:

1 ответ

0

Обновление 3

TBL_USER_TIME_LOG

Изображение 174551

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;

РЕЗУЛЬТАТ ПОИСКА ПОЛЬЗОВАТЕЛЯ

Изображение 174551

Другие мысли

Возможно, может быть способ КОНКАТЕНТИРОВАТЬ наши последние три поля результатов в один и форматировать строку, чтобы больше походить на военное время.

  • 0
    Похоже, ты добился того, чего хотел, верно? Какой вывод вы получаете, когда изменяется USER_ID , или это не проблема?
  • 0
    Просто добавьте предложение WHERE после предложения FROM.

Ещё вопросы

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