Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL-查找数字范围内最接近的匹配项_Mysql_Sql - Fatal编程技术网

MySQL-查找数字范围内最接近的匹配项

MySQL-查找数字范围内最接近的匹配项,mysql,sql,Mysql,Sql,我正在开发一个图形类型的应用程序,我正在寻找x、y轴起点到终点内的最佳解决方案 MySQL数据: 假设我有以下几点: 起点:200 起始日期:150 完(十):500 结束语:605 因此,我想找到上述数字与数据库最接近的匹配项 我现在处理的问题是: SELECT * FROM `graph` ORDER BY `start_pos_x`,`start_pos_y`,`end_pos_x`,`end_pos_y` ASC 我知道这和我想做的还不太接近,但我很难找到解决办法 谢谢 这似乎是一

我正在开发一个图形类型的应用程序,我正在寻找x、y轴起点到终点内的最佳解决方案

MySQL数据:

假设我有以下几点: 起点:200 起始日期:150 完(十):500 结束语:605

因此,我想找到上述数字与数据库最接近的匹配项

我现在处理的问题是:

SELECT * FROM `graph` ORDER BY `start_pos_x`,`start_pos_y`,`end_pos_x`,`end_pos_y` ASC 
我知道这和我想做的还不太接近,但我很难找到解决办法


谢谢

这似乎是一个算法问题。 首先,必须定义上述数字与数据库最接近的匹配项。例如,我可以将其定义为找到“Xs和Ys之差的最小平方和” 然后,解决方案可能类似于:

Select 
  * 
From 
  `graph` 
Order by
  Power(starting_x-200, 2) + Power(starting_y-150, 2) 
  + Power(ending_x-500, 2) + Power(ending_y-605, 2) ASC

也许你的问题是相关的:你如何定义“最接近”来进行比较?起点和终点之间的最小总距离?连接端点形成的梯形的最小面积?还有什么吗?最小总距离,所以最近的x,y到数据库中最近的x,y。下次请不要提供数据的图片。只需提供数据(请参阅)。