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

緯度と経度のレコードを検索する

    特定の場所に最も近い結果を得るには、このようなものを使用する必要があります

    $query = sprintf(
             "SELECT foo,
                      6371 * ACOS( Cos(RADIANS(lat)) * COS(RADIANS(%f))
                          * COS(RADIANS(%f) - RADIANS(lng)) + SIN(RADIANS(lat))
                          * SIN(RADIANS(%f)) ) * 1000 AS distance
                FROM `%s`
            ORDER BY distance",
            $lat, $lag, $lng, $table
        );
    

    $latを設定する必要があります 、$lng および$table テーブルの構造に応じて、結果に制限を設定することもできます。

    ここで詳細な説明を取得しますMySQLを使用した地理距離検索 。




    1. SymfonyとDoctrineが効果なしに移行を行う

    2. SpringJDBCテンプレートを使用してmysqlデータベースからタイムスタンプ値を取得する

    3. SQLServerでクラスター化インデックスまたは非クラスター化インデックスを使用する場合

    4. クエリを使用してSQLデータベースの疑わしいモードを通常モードに変更する