Php 多值查询以查找最近的匹配行
我希望创建一个查询,返回一组值的最近匹配行。这些值通常在1-3之间(一个是1-5) 我不确定正确处理这个脚本的最佳方法。我曾经有人说使用距离是一种方式,我也有人说使用where/or是一种方式。基本上,结果不必是精确匹配,它只需按接近程度列出结果Php 多值查询以查找最近的匹配行,php,mysql,Php,Mysql,我希望创建一个查询,返回一组值的最近匹配行。这些值通常在1-3之间(一个是1-5) 我不确定正确处理这个脚本的最佳方法。我曾经有人说使用距离是一种方式,我也有人说使用where/or是一种方式。基本上,结果不必是精确匹配,它只需按接近程度列出结果 这里的表单基本上就是我想要复制的。如果有人能说明我应该采用的查询方法,我将不胜感激。通过获取所选数字的绝对值减去所有列的列值之和,生成计算出的总“距离” SELECT id, ABS(5-col1)+ABS(5-col2)+ABS(5-col3) as
这里的表单基本上就是我想要复制的。如果有人能说明我应该采用的查询方法,我将不胜感激。通过获取所选数字的绝对值减去所有列的列值之和,生成计算出的总“距离”
SELECT id, ABS(5-col1)+ABS(5-col2)+ABS(5-col3) as distance
FROM sometable
ORDER BY distance ASC
其中
5
是您要比较的值。最接近的文本匹配?最近整数匹配?如果为整数,则只需添加一个计算列,其中包含与值的距离,并按距离排序。不确定where/or匹配如何工作,整数,但多个整数多个整数,在同一列中?很遗憾,我不能理解它。步骤1必须是“定义最近的匹配”!并且一开始就要保持简单。