我的数据库如下所示:
id | A | B | C | D
并且对于每个字母,有一个介于0和3之间的随机值。
这些值会针对每个ID进行更改。
如何选择匹配列最匹配的行,即使它不是完美匹配?
(这显示了我的意思:)。
我希望这张照片有帮助, 我需要为您创建一个与狗匹配的15个问题测验。 15中的每个问题都返回0到3之间的值,然后有11个是或否问题(0 =否,1 =是)
在测验结束时,我得到这样的结果:(从pereson变为人)0-3,0-4,0-2,0-2,0 / 1,0 / 1,0 / 1 ,0 / 1,0 / 1,0 / 1,0 / 1,0 / 1,0 / 1,0 / 1,0 /。
我需要收集这些值并获得最佳匹配,即具有最匹配列的狗。
答案 0 :(得分:0)
我认为你需要配备一个评分系统,因为你没有寻找完全匹配。一个想法的例子是。
从中选择ID { 选择A-B,A-C,A-D,B-C,B-D,C-D,id 从表 外面的 哪里(在这里用一些逻辑来确定你认为合适的东西)
一个想法是总结内部查询的所有差异。但是,如果你有一个非常大的,一个非常小的那个,这可能会产生错误的结果。
你也可以做所有差异之和的AVG。
您可以做的另一件事是按内部查询中的列顺序排序,其中差异为0.按个别情况排序0 else 1结束。
或组合。
这实际上取决于你想要得到什么
答案 1 :(得分:0)
您可以选择所有具有与输入之和相同的列总和的元素 那么你可以通过他们来看看比赛,并保持变量" $ best"填写时将更新的内容找到包含更多匹配项的元素