Mit der Abfrage unten kann ich nach Eigenschaften innerhalb eines bestimmten Radius suchen und die Ergebnisse werden zurückgegeben.MySQL - COUNT() verwenden, um Gesamtergebnisse zurückzugeben, wenn HAVING angegeben wird
SELECT id, address, (3959 * acos(cos(radians(53.184815)) * cos(radians(lat)) * cos(radians(lng) - radians(-3.025741)) + sin(radians(53.184815)) * sin(radians(lat)))) AS distance
FROM properties
WHERE area = 1 HAVING distance <= 1
ORDER BY price DESC, distance ASC
LIMIT 0, 10
aber ich will jetzt Paginierung hinzufügen, damit die „LIMIT 0, 10“, aber irgendwie haben die Abfrage die Gesamt Ergebnisse zurück. Wenn es beispielsweise 100 Ergebnisse gibt, die aber nur auf die ersten 10 Ergebnisse beschränkt sind, geben Sie die Summe als 100 zurück.
Ich habe versucht, "COUNT (*) AS total" nach der Auswahl hinzuzufügen, aber dies führte zu null Ergebnissen zurück.
Wie kann ich die Abfrage den Gesamtbetrag auf diese Weise zurückgeben?
SQL_CALC_FOUND_ROWS und nach SELECT FOUND_ROWS(); – splash58
SQL_CALC_FOUND_ROWS ist anscheinend bis zu 10 mal langsamer: http://stackoverflow.com/questions/186588/which-is-fastest-select-sql-calc-found-rows-from-table-or-select-count – Reado
Gesamt bedeutet , die Anzahl der Zeilen oder die Gesamteigenschaft als Anzahl? – Avishake