Postgres,earthdistance - 按 gps 距离排序结果

Postgres, earthdistance - sort results by gps distance

目前我有一个查询,它选择距离指定 GPS 坐标小于 X 公里的所有对象:

$query = 
  'SELECT * FROM t_activity WHERE
   POINT(gps_lat||\',\'||gps_lon) <@> 
   POINT(
     '.$gps_latitude.', 
     '.$gps_longitude.'
   ) <= '.$search_range;

我对数据库一点都不熟练,但我想知道:

是否也可以修改查询以便将其从最近到最远的结果排序?

根据你的查询我认为应该是

$query = 
  'SELECT * FROM t_activity WHERE
   POINT(gps_lat||\',\'||gps_lon) <@> 
   POINT(
     '.$gps_latitude.', 
     '.$gps_longitude.'
   ) <= '.$search_range.'
   ORDER BY POINT(gps_lat||\',\'||gps_lon) <@> 
   POINT(
     '.$gps_latitude.', 
     '.$gps_longitude.'
   )
';