MySQL-查找数字范围内最接近的匹配项
我正在开发一个图形类型的应用程序,我正在寻找x、y轴起点到终点内的最佳解决方案 MySQL数据: 假设我有以下几点: 起点:200 起始日期:150 完(十):500 结束语:605 因此,我想找到上述数字与数据库最接近的匹配项 我现在处理的问题是: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 我知道这和我想做的还不太接近,但我很难找到解决办法 谢谢 这似乎是一
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。下次请不要提供数据的图片。只需提供数据(请参阅)。