Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL中多个值的最佳匹配_Mysql - Fatal编程技术网

MySQL中多个值的最佳匹配

MySQL中多个值的最佳匹配,mysql,Mysql,从MySQL中的多个值和列中查找最佳匹配 数据库: id star point price 1 12 15 16 2 9 15 16 3 18 10 12 Find与此非常接近 star point price 10 15 14 结果 id: 2 你需要一个距离度量。但是如果您有一个,那么您可以只使用orderby和limit。因此,如果使用欧几里德度量: select t.*

从MySQL中的多个值和列中查找最佳匹配

数据库:

id  star   point    price    
1   12     15       16
2   9      15       16
3   18     10       12
Find与此非常接近

star  point  price
10    15     14
结果

id: 2

你需要一个距离度量。但是如果您有一个,那么您可以只使用
orderby
limit
。因此,如果使用欧几里德度量:

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

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

a)到目前为止您尝试了什么?b) “最佳匹配”到底是什么意思?例如,星号列是否比价格更重要?我只尝试了1个值。但当我现在需要检查多个值的最佳匹配时,我迷失了方向。不知道一个是否比另一个更重要。需要想想它的甜蜜!如果数字高于最佳匹配,这也会找到关闭数字吗?@user2673664。对您没有指定需要相似性的规则,而欧几里德度量只是基于值之间的差异。