通过 OFFSET 分页

向 UNION 添加 LIMIT 时,这是要使用的模式:

( SELECT ... ORDER BY x  LIMIT 10 )
UNION
( SELECT ... ORDER BY x  LIMIT 10 )
ORDER BY x  LIMIT 10

由于你无法预测 10 将来自哪个 SELECT,你需要从每个中获得 10,然后进一步减少列表,重复 ORDER BYLIMIT

对于 10 个项目的第 4 页,需要此模式:

( SELECT ... ORDER BY x  LIMIT 40 )
UNION
( SELECT ... ORDER BY x  LIMIT 40 )
ORDER BY x  LIMIT 30, 10

也就是说,在每个 SELECT 中收集 4 页的价值,然后在 UNION 中进行 OFFSET