通過 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
。