2017-08-29 40 views
2

我有三列,创建,解决和id。我想要查询显示在过去30天内创建的3天内未解决的故障单获取两列之间的时间差超过三天 - MySQL Workbench

我还要求它显示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 | 

对不起,我可怜的表结构

很多的帮助的感谢

+0

问题是您使用? – Mureinik

+0

MySQL Workbench –

+1

发布您的表的最小示例,所需的输出和您已经尝试过的查询! – RealCheeseLord

回答

0

您可以使用datediff函数来比较两个日期:

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

你似乎想是这样:

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

我不确定“30天内”是什么意思。

没有理由在任何时间单位采取日期的差异。您可以简单地比较日期和日期。

+0

答案对不起,没有解释清楚。我的意思是说我只想列出从(NOW() - INTERVAL 30 DAY)创建的票据 –

0

下面是解决我在

Select Created, Resolved, id, Queue from Tickets 
WHERE Created > (NOW() - interval 30 day) AND Datediff(created, Resolved) > 3; 
什么[标签:RDBMS]