sql >> データベース >  >> RDS >> Mysql

入力された場所(latとlong)に最も近い場所をmysql-table(latとlongが格納されている場所)でクエリするにはどうすればよいですか?

    インデックスを作成できるいくつかの条件によって、場所を制限することをお勧めします。米国からパリの誰かを最寄りの場所としてリストしたくないので、簡単にそれを行うことができます。

    RustamISクエリを少し変更するだけで、無関係な場所のほとんどを削除できます。

    select * from gps_location_table t 
    where
        t.x between 20.134554 and 20.334554 and t.y between 56.11455255 and 56.31455255
    order by 
        sqrt((t.x - 20.234554)*(t.x - 20.234554) + (t.y - 56.21455255)*(t.y - 56.21455255)
    desc
    

    そこで、最も近い人を探したい長方形を定義しました。



    1. Mysqlデータベースの多言語カテゴリタイトル

    2. 複数のテーブル結合を持つグループごとの上位N

    3. SQL ServerでのDENSE_RANK()のしくみ

    4. mysqlgroup_concatがデータ全体を持ってこない