我有一张 goods 表主要有 id 、name 、recommend 这 3 个字段,其中 id 为自增主键,name 为字符串,recommend 为 int
我往表里插了 37 条测试数据,id 从 1-37,其中 id=1 的 recommend 为 0,其他剩下 36 条全为 0
在插入 37 条测试数据后,我修改过部分数据的 name 值,于是当我使用如下 SQL 语句
SELECT * FROM goods ORDER BY recommend DESC;
返回的结果 id=1 的排在第一位,剩下的 36 按自增 id 随机排列。其中 id=2 的这条记录排在倒数第二位(重点就是这一条记录)。
现在遇到一个比较奇葩的问题,我分页获取的时候
SELECT * FROM mall.goods ORDER BY recommend DESC LIMIT 10 OFFSET 0;
上面这条 SQL 语句居然第二条记录是 id=2 的数据
SELECT * FROM mall.goods ORDER BY recommend DESC LIMIT 10 OFFSET 30;
同样,上面这条 SQL 语句里也出现了 id=2 的数据,不过它出现的位置是在倒数第二位,和第一条 SQL 语句排序出现的位置一致
这啥情况?