我正在寻找一个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
答案 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)