通過 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 BY 和 LIMIT。
對於 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。