在数据库中查找类似的行

Ben*_*Ben 9 sql database algorithm web-applications

我尝试设计我的应用程序以查找类似的数据库条目.

让我们例如采用表(一切都在一个表中,以保持例子简单):

CarID  |  Car Name  | Brand | Year | Top Speed | Performance | Displacement | Price
1         Z3          BMW     1990    250          5.4           123           23456
2         3er         BMW     2000    256          5.4           123           23000
3         Mustang     Ford    2000    190          9.8           120           23000
Run Code Online (Sandbox Code Playgroud)

现在我想做那样的查询:

"搜索类似于Z3(所有品牌)的汽车"(忽略"汽车名称")

在此上下文中类似意味着大多数列完全相同的行是最相似的.

在这个例子中它将是"3er BMW",因为2列(性能和排量相同)

你能给我一些如何设计数据库查询/应用程序的提示吗?这个应用程序会非常大,有很多条目.

我也非常感谢有用的链接或书籍.(如果我知道在哪里搜索或阅读什么,我没有问题进一步调查)

vc *_* 74 3

您可以尝试根据每个记录的字段给每个记录一个“分数”

您可以根据属性对于比较的重要性来衡量列的分数(例如最高速度可能比品牌更重要)

您最终会得到每条记录的分数,并且您将能够通过比较分数并查找与您正在查看的记录有 +/- 5%(例如)的记录来查找类似记录