分页排序在主表中进行,这样就mysql在执行的过程中分根据我们的理想按字段排序且选出指定分页。
但是在Join时,mysql系统做了优化,所以最终出来的结果又是乱序,此时,对最终被mysql Join打乱的结果顺序再做一次排序,这样就能得到我们想要的结果了。
SELECT
r.id,
b.name
FROM
(
SELECT id FROM A WHERE 条件 ORDER BY 字段 排序 LIMIT start,end
)r LEFT JOIN B b ON r.id=b.rId
ORDER BY 字段 排序