我在' Deals'中有以下两列?表。 - subscribed_date - expired_date
我想要 SQL查询来过滤具有2列差异的记录,如下所示
(expired_date - subscribed_date)== 7天
例如:
id | subscribed_date | expired_date
1 | 2015-07-04 04:13:29 | 2015-09-03 04:13:29
2 | 2015-06-03 04:13:29 | 2015-06-10 04:13:29
3 | 2015-01-05 04:13:29 | 2015-02-08 04:13:29
在上面的例子中,结果应该是id = 2,因为它的差异是7天。
是否可以在没有迭代的情况下通过SQL查询?
提前感谢您的帮助!
答案 0 :(得分:2)
最简单的方法是使用timestampdiff
函数
mysql> select timestampdiff(day,'2015-06-03 04:13:29','2015-06-10 04:13:29') as d ;
+------+
| d |
+------+
| 7 |
+------+
所以查询变为
select * from deals
where timestampdiff(day,subscribed_date,expired_date) = 7