Странно е как писането на въпрос те кара да мислиш и всъщност помага много да си представиш решение на собствения си проблем.
Успях да разреша този проблем, като просто добавих частта за страниране на заявката към подзаявка на основната ми заявка, а не към самата основна заявка.
Например, вместо да направите:
SELECT client.id, client.name ...
FROM clients AS client
LEFT JOIN client_account_types AS cat ON client.id = cat.client_id
FULL JOIN account_types AS at ON cat.account_type_id = at.id
ORDER BY client.name ASC
LIMIT 10 OFFSET 30;
Правя това:
SELECT client.id, client.name ...
FROM (
SELECT * FROM clients
ORDER BY name ASC
LIMIT 10 OFFSET 0
) AS client
LEFT JOIN client_account_types AS cat ON client.id = cat.client_id
FULL JOIN account_types AS at ON cat.account_type_id = at.id;
Надявам се това да помогне и на други хора.