目前,我有一个查询,可以选择距指定GPS协调距离小于X km的所有对象:
$query =
'SELECT * FROM t_activity WHERE
POINT(gps_lat||\',\'||gps_lon) <@>
POINT(
'.$gps_latitude.',
'.$gps_longitude.'
) <= '.$search_range;
我根本不熟悉数据库,但我想知道:
是否也可以修改查询以便从最接近的结果到最近的结果进行排序?
答案 0 :(得分: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.'
)
';