从 MySQL 中的多个值和列中查找最佳匹配。
数据库:
id star point price
1 12 15 16
2 9 15 16
3 18 10 12
查找接近于此
star point price
10 15 14
结果
id: 2
最佳答案
您需要一个距离度量。但如果你有一个,那么你可以只使用 order by
和 limit
。因此,如果您使用欧几里得度量:
select t.*
from t
order by pow(star - 10, 2) + pow(point - 15, 2) + pow(price - 14, 2)
limit 1;
注意:按欧几里德度量排序不需要平方根。
关于mysql - MySQL 中多个值的最佳匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41039752/