从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
答案 0 :(得分:2)
您需要距离指标。但是,如果您有一个,那么您可以使用order by
和limit
。因此,如果您使用欧几里德指标:
select t.*
from t
order by pow(star - 10, 2) + pow(point - 15, 2) + pow(price - 14, 2)
limit 1;
注意:按欧几里德度量标准排序不需要平方根。