在两列之间获得大于三天的时间差 - MySQL Workbench

时间:2017-08-29 08:08:37

标签: mysql sql

我有三列,Created,Resolved和id。我希望有一个查询显示在过去30天内创建的3天内未解决的故障单

我还要求它显示ID列,以便我可以看到哪些门票在三天内没有得到解决。

|Created               ---------------- | ----------Resolved  -    | ID 
                 2017-02-08 10:39:34 | 2017-05-05 10:18:41 | 1 |
                 2017-02-08 13:49:42 | 2017-02-09 16:08:11 | 2 |
                2017-02-09 10:15:09 | 2017-02-09 10:18:55 | 3 |

抱歉桌面结构不佳

非常感谢您的帮助

3 个答案:

答案 0 :(得分:0)

您可以使用datediff功能比较两个日期:

SELECT *
FROM   tickets
WHERE  DATEDIFF(resolved, created) >= 3

答案 1 :(得分:0)

你似乎想要这样的东西:

where (resolved is null or resolved > date_sub(created, interval 3 day))

我不确定"在30天内""装置

没有理由在任何时间单位中取得日期的差异。您可以简单地将日期与日期进行比较。

答案 2 :(得分:0)

以下是解决我遇到的问题的方法

Select Created, Resolved, id, Queue from Tickets
WHERE Created > (NOW() - interval 30 day) AND Datediff(created, Resolved) > 3;