MySQL 限制偏移,结果是无序的



>我有一个有 31M 数据的表,当我尝试这样做时:

select id from class limit 20 offset 0;

我得到的结果没有排序,结果是这样的"13,18273785,29046580...",为什么不是"1,2,3,4,...,20"?

顺便说一句,在另一个小表中,我得到了正确的结果,例如"1,2,2,4,...,20",普通表的数据少于10,000行,不正确的表有超过30000,000行数据。知道吗?因为mysql事务隔离机制?谢谢

我知道我可以使用排序来获取我期望的数据,为什么在表中有一点数据,如 3000 行,限制和偏移量可以得到我期望的数据,但另一个表 30,000,000 无法排序

您需要添加ORDER BY子句,例如,例如:

SELECT id 
FROM class 
ORDER BY id
LIMIT 20 OFFSET 0;

最新更新