假设我有一张桌子(3行x 4列)。
考虑一个数据库表,前三行是输入。如果第四行被添加为表的输入,则算法应匹配传入的" A"输入之前的所有" A"表中的输入并找到最接近的匹配,它也应对B,C和D执行相同的操作。最后,它应该选择与输入最匹配的适当行,并且应该选择它。在这种情况下,第一行与传入的第四行最接近,因此应该选择它。
P.S: SQL也可用于实现此目的。
答案 0 :(得分:0)
以下内容:
select *, abs(A-newA) from table group by A
having abs(A-newA)=min(abs(A-newA))
;
// etc..
其中newA,...将被替换(带有值绑定的预处理语句)和新的条目坐标
select * from table where (abs(A-newA)+abs(B-newB)+...)=
(select min((abs(A-newA)+abs(B-newB)+...) from table)
;