我正在寻找创建一个返回一组值的最近匹配行的查询。这些值通常在1-3之间(一个是1-5)。
我不确定找到这个脚本的最佳方法。我有一些人说使用距离就是这样,我让其他人说使用在哪里/或就是这样。基本上结果不一定是完全匹配,它只需要将结果列为接近等级。
this page上的表格基本上就是我想要复制的内容。如果有人能够阐明我应该采取的查询方法,那将非常感激。
答案 0 :(得分:1)
通过求和所选数字的绝对值减去所有列的列值来生成计算的总体“距离”。
SELECT id, ABS(5-col1)+ABS(5-col2)+ABS(5-col3) as distance
FROM sometable
ORDER BY distance ASC
其中5
是您要比较的值。