百見は、一聞にしかず

見てもわからない事は、とりあえず聞いてみよう。

対象の座標に近い順でソートするSQL文

経度、緯度のデータがあるテーブルである地点から近い順にデータを取得したい場合があるかもしれません。(あまり無いかもですが)

そんな時は以下のようなSQL文でソートすることが出来ます。

SELECT * FROM `t_location` ORDER BY ABS(`lat` – [対象の緯度]) + ABS(`longitude` – [対象の経度]) ASC

テーブル上の経度から対象の経度を引いて絶対値を求め、、緯度も同じように計算し、それぞれを足す。それを昇順にすれば近い順になりますね。