MySQL - 如何从相同的 table 中减去两个日期时间

MySQL - How to subtract two datetime from the same table

我需要帮助解决同一 table 和列

中的减法小问题

好吧,我正在创建一个视图,但是应用程序在相同的 table 和列中生成了使用时间的结果。

我的 table 有以下列:id、field_id、object_id 和 value_date.

| ID | FIELD_ID | OBJECT_ID | VALUE_DATE          |
| 55 | 4        | 33        | 2016-12-18 19:02:00 |
| 56 | 5        | 33        | 2016-12-18 19:12:00 |
| 57 | 4        | 35        | 2016-12-18 19:30:00 |
| 58 | 5        | 35        | 2016-12-18 20:00:00 |

我对 sql 了解不多,但我尝试了一些函数,例如 timestampdiff、period_siff 和 whosebug.com.

中的其他示例

有人帮我减去 ID 56 with field_id 5 by line with ID 55 and field_id 4 in object_id 33 in SQL 在几分钟内得出结果.例如:10 或 00:10:00

关于这个问题的文章已经对我有所帮助。非常感谢!

假设您希望结果采用日期格式,那么查询将为:

SELECT DATEDIFF(day,startDate,endDate) AS 'Day'  
FROM table1;  

查找完整示例here

解决方法如下:

select TIMESTAMPDIFF(MINUTE,F1.value_date,F2.value_date) as minutes, F1.value_date,F2.value_date,F1.object_id,F2.object_id,F1.field_id,F2.field_id
from otrs_tst.dynamic_field_value F1 
join otrs_tst.dynamic_field_value F2 on F1.object_id = F2.object_id
 where F1.field_id in ('4','5') 
 and F2.field_id in ('4','5') 
 and F2.field_id <> F1.field_id
 and F1.field_id < F2.field_id
 group by F1.object_id,F2.field_id