假设我有一个表,其中有一列“时间”每五分钟存储一次日期戳,就像这样:
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 语句找出结果。
感谢您的帮助!
假设我有一个表,其中有一列“时间”每五分钟存储一次日期戳,就像这样:
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 语句找出结果。
感谢您的帮助!
尝试这个
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
)
您可以使用排名将前一行与“当前”行进行比较,并检查它是否大于 5 分钟。在这里查看如何创建排名: MySQL 中的排名函数