MySQL访问以前的行值

时间:2014-02-14 02:27:18

标签: mysql

我有两列Page_fromPage_to。记录排序后,它们显示为......

Page_from   Page_to
1              4
5              7
9              11

此处缺少第8页。 我想找到丢失的页码。所以我必须能够将前一行Page_to的值与当前行中的Page_from进行比较。

1 个答案:

答案 0 :(得分:0)

您可以通过查找上一条记录,并比较之前的page_to和当前的page_from来查找缺失序列的开头。如果存在差距,您可以同时获得第一页和最后一页。

select tprev.page_to + 1 as missing_page_from, t.page_from - 1 as missing_page_to
from (select t.*,
             (select tprev.page_to
              from t tprev
              where tprev.page_from < t.page_from
              limit 1
             ) as prev_to
      from t
     ) t
where prev_to is not null and
      prev_to <> t.page_from - 1;