Es gibt eine Paginierungsfunktion, die in 2.2 integriert ist und etwas Ähnliches tut, was Sie suchen:
Aber ich glaube nicht, dass es SQL_CALC_FOUND_ROWS
verwendet :Es führt zwei (oder drei, je nach Konfiguration) separate Abfragen aus, um die Ergebnisse zu erhalten, und das ist häufig die richtige Vorgehensweise.
Wenn Sie wirklich darauf bestehen, die MySQL-Funktion zu verwenden, müssen Sie meines Erachtens rohes SQL und ein Resultset-Mapping verwenden. Hier ist ein Beispiel:
Testen Sie in einer ganz anderen Anmerkung, ob SQL_CALC_FOUND_ROWS
ist es wirklich wert, für Ihre spezielle Anfrage verwendet zu werden. Count ist in MySQL gut für Abfragen wie die von Ihnen optimierte. Siehe insbesondere diese Frage:
Was ist am schnellsten? SELECT SQL_CALC_FOUND_ROWS FROM `table`, oder SELECT COUNT(*)