Mysql 比较两个连续行的字段值,并通过此比较筛选结果
我有一张有DATETIME列的桌子 在正常情况下,我用当前时间每小时插入一行,因此我有时间间隔为1小时的行,例如2018-01-28 09:00:00、2018-01-28 10:00:00等 我的问题是,有时我的代码在几个小时内没有插入一行,所以我有一个时间间隔,间隔突然增加 我需要的是一种只选择最新连续行的方法,间隔为1小时 例如,如果我有时间2018-01-28 10:00:00、2018-01-28 09:00:00,然后是2018-01-28 05:00:00,则查询应该只获取前两个,而不获取其他内容Mysql 比较两个连续行的字段值,并通过此比较筛选结果,mysql,Mysql,我有一张有DATETIME列的桌子 在正常情况下,我用当前时间每小时插入一行,因此我有时间间隔为1小时的行,例如2018-01-28 09:00:00、2018-01-28 10:00:00等 我的问题是,有时我的代码在几个小时内没有插入一行,所以我有一个时间间隔,间隔突然增加 我需要的是一种只选择最新连续行的方法,间隔为1小时 例如,如果我有时间2018-01-28 10:00:00、2018-01-28 09:00:00,然后是2018-01-28 05:00:00,则查询应该只获取前两个,
有办法做到这一点吗 您可以使用自连接来比较同一表中不同行的值。 像这样的事情应该可以做到:
SELECT (t2.field_to_compare - t1.field_to_compare) AS your_interval
FROM your_table t1
INNER JOIN your_table t2 ON t1.field_to_compare < t2.field_to_compare
ORDER BY t1.field_to_compare;
选择(t2.field\u to\u compare-t1.field\u to\u compare)作为您的\u间隔
从您的表t1
在t1.field\u-to\u-compare
请参见