クライアントから渡された経度と緯度はデータベースに保存され、SQL ステートメントは近くの人々にクエリを実行するために使用されます。この記事では、皆様のお役に立つことを願って、主に近くの人々に対する SQL クエリの例を紹介します。
TABLE_NAME テーブル構造。自動インクリメントID、都市ID、経度、緯度です。
id city_id y 56
LAT/
LNGはそれぞれ緯度と経度です。select city_id,y,x ,ACOS(SIN((LAT * 3.1415) / 180) * SIN((y * 3.1415) / 180 ) + COS((
LAT* 3.1415) クライアントから渡されました / 180 ) * COS((y * 3.1415 ) / 180 ) *COS((LNG* 3.1415) / 180 - (x * 3.1415) / 180 ) ) * TABLE_NAME WHERE からの距離として 6380 city_id=1901 距離で注文mysqlの例select city_id,y,x,ACOS(SIN((23.13678584271096 * 3.1415) / 180) * SIN((y * 3.1415) / 180 ) + COS((23.136785842) 710 96*3.1415 ) / 180 ) * COS((y * 3.1415) / 180 ) *COS((113.2937260476958* 3.1415) / 180 - (x * 3.1415) / 180 ) ) *
TABLE_NAMEWHERE からの距離として 6380 city_id=1901 ORDER BY distance
関連推奨事項:
PHPで近くの人を検索する機能を実装以上が近くにいる人に対する SQL クエリの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。