【发布时间】:2015-11-10 14:23:40
【问题描述】:
我有一个包含某些属性(例如名称和地址)的表格。在搜索字段中,我想让系统的用户输入他们对这些人的了解并在表格中返回结果。显然,我确实希望最适合的结果排在首位。
- 应该在 SQL 命令中完成排名还是有其他可能更好的方法?
- 有人知道根据最高一致性对结果进行排序/排名的好方法吗?我基本上确实希望最符合搜索条件的人出现在最前面。
您可以在此处查看示例: http://sqlfiddle.com/#!2/19e9ad
感谢您的帮助!
(我目前确实使用 SQL Server,但感谢任何帮助。)
【问题讨论】:
-
highest conformity是什么? -
我只是用这个词来更好地描述它。对我来说,这意味着结果是否符合要求,记住要检查 5 个属性。
-
听起来你在要求一个字符串比较函数,比如 Jaro-Winkler。这是 Oracle (docs.oracle.com/cd/E18283_01/appdev.112/e16760/u_match.htm) 的内置函数,我可以想象许多其他 RDBM。
-
也许您应该解释一下您要进行哪种搜索
-
@JKau Jaro-Winkler 非常擅长识别只是顺序错误的字符串,分数会反映这一点。运行一些测试,看看它是否能给你想要的结果,但我在我所做的工作(营销客户数据集成)中经常使用它。我开发了一个 API 基本上可以做到这一点,但增加了很多复杂性,例如考虑昵称等。
标签: sql sql-server