order by 后面的字段必须是唯一的,否则在分页查询的时候,结果可能是错误的,例如第一页的最后一条数据,可能查第二页的第一条也是该条数据,这个mysql排序导致的
示例:查询订单交易记录按交易时间排序(交易时间非唯一,即多笔订单存在相同交易时间的情况)
//查询前十条订单
select * from order_info order by trans_time desc limit 0,10;
//查询10-20条订单
select * from order_info order by trans_time desc limit 10,10;
解决办法:在order by 的条件中加上主键,使之唯一(这里id是主键)
select * from order_info order by trans_time desc,id limit 0,10;