簡體   English   中英

MySQL - 如何從同一個表中減去兩個日期時間

[英]MySQL - How to subtract two datetime from the same 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 了解不多,但我在 stackoverflow.com 中嘗試了一些函數,如 timestampdiff、period_siff 和其他示例。

有人幫我用 SQL 中的 object_id 33 中的 ID 55 和 field_id 4 減去 ID 56 和 field_id 5,以在幾分鍾內得出結果。 例如:10 或 00:10:00

一篇關於這個問題的文章已經對我有所幫助。 非常感謝!

假設您希望結果為日格式,那么查詢將是:

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

在這里找到完整的例子

解決方法如下:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM