Я пытаюсь написать обширный запрос, который выполнит следующие задачи;MySQL Difference Query
- Выберите поля «time_stamp» и «status» из базы данных «time_stamps» и закажите их с помощью «time_stamp» ASC.
- Из возвращенных полей для каждой пары штампов времени (1 дюйм и 1 выход) мне нужно получить разницу в часах.
Вот что у меня до сих пор в запросе.
SELECT time_stamp AS 'time', status AS 'status' FROM time_stamps WHERE user_id = '55' ORDER BY time
Тогда у меня есть этот запрос, который получает разницу в часах от двух дат.
SELECT TIMESTAMPDIFF(SECOND, '2016-04-26 07:01:26', '2016-04-26 15:07:55')/3600.0
В идеале, я бы хотел, чтобы запрос возвращал данные, которые выглядят следующим образом:
time_stamp status difference
2016-04-18 06:57:04 1
2016-04-18 11:19:49 0 8.11
2016-04-18 11:41:01 1
2016-04-18 15:21:02 0 3.67
2016-04-19 07:06:16 1
2016-04-19 10:58:34 0 3.87
2016-04-19 11:18:50 1
2016-04-19 15:16:00 0 3.95
2016-04-20 06:58:30 1
2016-04-20 12:46:33 0 5.80
Я думал, что мне, возможно, придется написать хранимую процедуру или что-то подобное, чтобы выполнить это, но я не совсем уверен. Может ли кто-нибудь указать мне в правильном направлении, куда идти отсюда? Я не ищу, чтобы кто-то написал весь этот запрос для меня, просто толчок в правильном направлении. Благодаря!
С некоторыми мастерами я получил ваш код, чтобы работать отлично. Спасибо за вашу помощь Квасной! – Kronos1