我正在为选择最接近数字的结果的查询而苦苦挣扎。这是网站 www.soulmate.dating
基本上我有一个查询,其中包括每个成员的 GEO 位置(除了其他数据),我希望结果由最接近所选 GEO 位置的人排序。
这是查询:
select distance from users;
注意:$this->locationGEO 由用户设置(他们可以选择一个地方),可以是 41546
当结果返回时,如果我只是按距离排序,它不是 $this->locationGEO 中值的封闭数字 - 例如:41546。
我怎样才能运行一个返回接近数字的结果的查询 - 比如 41546。
而不是从最高到最低等排序。
谢谢
最佳答案
您的查询可以是这样的:
select distance from users order by abs(distance - 41546) asc;
abs
是必需的,以便比较 41546(用户输入)两侧的距离。
关于php - MySQL 按最接近给定数字的数字排序结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28514684/