以下のクエリを使用して、指定した半径内のプロパティを検索して結果を返します。MySQL - HAVINGが指定されたときにCOUNT()を使用して合計結果を返す
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
しかし、私は今、ページ分割を追加したいので、 "LIMIT 0、10"が何らかの形でクエリを返します。たとえば、結果が100件ありますが、最初の10件に限定している場合は、合計を100として返します。
選択後に「COUNT(*)AS total」を追加しようとしましたが、返される。
この方法でクエリの合計を返す方法を教えてください。
SQL_CALC_FOUND_ROWS以降、SELECT FOUND_ROWS()の後。 – splash58
SQL_CALC_FOUND_ROWSは明らかに最大10倍遅いです:http://stackoverflow.com/questions/186588/which-is-fastest-select-sql-calc-found-rows-from-table-or-select-count – Reado
総計、行数または総プロパティ数? – Avishake