半径内の場所を検索するための MySQL クエリ
指定された半径内の場所を検索するクエリは、地理空間データを扱うときに使用されます。この場合、特定の緯度と経度から半径 25 マイル以内のすべての行を取得するクエリが必要になります。ただし、元のクエリはすべての行に対して正確な結果を返していませんでした。
改良されたクエリ
改良されたクエリでは、より正確な数式を使用して計算することにより、不正確な結果が排除されます。行間の距離:
SELECT `id`, ( 6371 * acos( cos( radians( :lat ) ) * cos( radians( `lat` ) ) * cos( radians( `long` ) - radians( :long ) ) + sin(radians(:lat)) * sin(radians(`lat`)) ) ) `distance` FROM `location` HAVING `distance` < :distance ORDER BY `distance` LIMIT 25
説明
パラメータ
この改良されたクエリを使用すると、指定された半径内のすべての行を正確に取得でき、元のクエリで見られた誤った結果が排除されます。
以上が以下に、スタイルと焦点が異なるいくつかのタイトル オプションを示します。 **直接的かつ有益:** * **MySQL を使用して半径内の場所を検索する方法: 改良されたクエリ** * **正確な位置情報検索の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。