0

目前我有一个查询,从指定的 GPS 坐标中选择所有距离 X 公里近的物体:

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

我根本不擅长数据库,但我想知道:

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

4

1 回答 1

1

根据您的查询,我认为应该是

$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.'
   )
';
于 2017-05-16T13:23:06.713 回答