选择日期差异不超过5天的条目

时间:2014-10-16 06:56:56

标签: sql oracle

我正在寻找一个SQL语句,它给了我所有条目,其中日期与此表中的另一条目相隔不超过5天。

示例:

ID | Date

1  | 16.10.14 00:00:00
2  | 14.10.14 00:00:00
3  | 09.09.14 00:00:00
4  | 13.10.14 00:00:00
5  | 06.07.14 00:00:00
6  | 09.01.14 00:00:00
7  | 10.01.14 00:00:00
8  | 14.05.14 00:00:00

预期产出:

ID | Date

1  | 16.10.14 00:00:00
2  | 14.10.14 00:00:00 
4  | 13.10.14 00:00:00
6  | 09.01.14 00:00:00
7  | 10.01.14 00:00:00
8  | 14.01.14 00:00:00

编辑:

事实上我只需要一种方法来对数据类型Date进行区分。这就是为什么我甚至无法显示我的尝试,因为我错过了关键字。

没关系,我仍然会尝试

它应该是这样的:

select * from example m where m.Date  not more apart than 5 days from another entry in the Table 

1 个答案:

答案 0 :(得分:2)

-运算符在应用于两个date时,将在中返回差异。因此,您可以使用exists运算符构建查询:

SELECT *
FROM   my_table o
WHERE  EXISTS (SELECT *
               FROM   my_table i
               WHERE  ABS (o.my_date - i.my_date) <= 5)