我想写一个广泛的查询,将完成以下任务;MySQL日期差异查询
- 从“time_stamps”数据库中选择字段“time_stamp”和“status”,并按“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
我在想,我可能不得不编写一个存储过程或类似的东西来实现这一点,但我并不完全确定。有人能指引我走向何方?我不想找人为我写这整个查询,只是向正确的方向推动。谢谢!
随着一些修补程序,我让你的代码完美工作。感谢您的帮助Quassnoi! – Kronos1