Je legrační, jak vás psaní otázky nutí přemýšlet a ve skutečnosti hodně pomáhá při představě řešení vašeho vlastního problému.
Tento problém se mi podařilo vyřešit jednoduchým přidáním stránkovací části dotazu do dílčího dotazu mého hlavního dotazu, nikoli do samotného hlavního dotazu.
Například místo provedení:
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;
Dělám toto:
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;
Doufám, že to pomůže i ostatním.