如何过滤mysql表中的特定行?

时间:2012-07-12 09:11:07

标签: mysql

假设我的表有一个“时间”列,每五分钟存储一次日期戳, 就像这样:

time
20120701 00:00:00
20120701 00:05:00
20120701 00:10:00
20120701 00:15:00
....

但行之间的间隔有时超过5分钟,如

20120703 00:00:00
20120703 00:15:00

我想要做的是找出所有这些时间戳,它们之间的间隔超过5分钟。

是否可以通过一个sql语句找出结果。

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

试试这个

select time from table where time not in
(
select t1.time from table as t1 inner join table as t2 on t1.time=t2.time-interval 5 minute
)

答案 1 :(得分:0)

您可以使用排名将前一行与“当前”行进行比较,并检查它是否大于5分钟。 看看这里看看如何创建排名: Rank function in MySQL