最适合MySQL中的多个值

时间:2016-12-08 12:39:41

标签: mysql

从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

1 个答案:

答案 0 :(得分:2)

您需要距离指标。但是,如果您有一个,那么您可以使用order bylimit。因此,如果您使用欧几里德指标:

select t.*
from t
order by pow(star - 10, 2) + pow(point - 15, 2) + pow(price - 14, 2)
limit 1;

注意:按欧几里德度量标准排序不需要平方根。