php - MySQL 按最接近给定数字的数字排序结果

标签 php mysql

我正在为选择最接近数字的结果的查询而苦苦挣扎。这是网站 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/

相关文章:

MySQL 事件从另一个表插入 ID

php - 如何在每次 'bulk mysql insert' 之后在后台运行 PHP 函数?

php - 简单的ajax POST不执行php函数

使用 mysql 的书籍数据库的 php 搜索脚本

mysql - 大型 mysql (innodb) 数据库 - 查询性能慢、表消失和恢复备份时间长

php - 处理程序中的 MySQL 回滚

mysql - C编程如何将串口数据保存到mysql数据库

c# - 获取 Curl 生成的 POST 流的示例以协助移植到 C#

php - 如何确定一个系列中的哪个数字是无效的信用卡号

php - 如何使用 Doctrine2 中的 EntityManager 检索具有所有关联的实体?