我正尝试使用SQL根据一个条目和下一个条目之间的时间差异来选择不同的数据条目。它更容易用一个例子来解释:在时间范围之外选择不同的行
我的数据表有
Part DateTime
123 12:00:00
123 12:00:05
123 12:00:06
456 12:10:23
789 12:12:13
123 12:14:32
我想与限制,只要返回所有行,如果有使用相同的“部分”号的多个条目我会喜欢只检索那些至少5分钟的差异。
查询应返回:
Part DateTime
123 12:00:00
456 12:10:23
789 12:12:13
123 12:14:32
我正在使用的代码如下:
SELECT data1.*, to_char(data1.scan_time, 'yyyymmdd hh24:mi:ss')
FROM data data1
where exists
(
select *
from data data2
where data1.part_serial_number = data2.part_serial_number AND
data2.scan_time + 5/1440 >= data1.scan_time
and data2.info is null
)
order by to_char(data1.scan_time, 'yyyymmdd hh24:mi:ss'), data1.part_serial_number
这不是遗憾的是工作。有谁知道我做错了什么或可以建议一种替代方法?
由于
我想知道你是否试过我的方法。这是否过于简单? – MPelletier