我们需要将当前行/记录与上一行和下一行的值进行比较。
光标在MySQL中是不可滚动的。因此,我们使用while循环迭代表数据,使用limit子句获取上一条/下一条记录并比较值。
对于20k条记录,此逻辑将花费大量时间。谁能建议并给出例子来迭代表数据,比较当前记录值与前一个和下一个记录。
谢谢,维拉
可以使用表JOIN来完成此操作。如果没有可用的ID列,则需要添加另一个具有排名顺序的列,然后向其添加索引。这里有关于如何添加rank列的答案。
但是,让我们假设你的ID列是足够的:没有空格,正确的顺序:
SELECT main.*, prev.*, next.* FROM
mytable as main
left join prev on main.ID = prev.ID+1
left join next on main.ID = next.ID-1
然后可以在比较main的基础上向查询添加逻辑或条件。上一列。