具有多个属性的 SQL 排序(按一致性排序)

标签 sql sql-server

我有一个表,其中包含某些属性,例如名称和地址。在搜索字段中,我想让系统用户输入他们对这些人的了解并将结果返回到表格中。显然,我确实希望最合适的结果放在首位。

  1. 排名应该在 SQL 命令中完成还是有其他更好的方法?
  2. 有谁知道根据最高一致性对结果进行排序/排名的好方法?我基本上确实希望这个人出现在最符合搜索条件的顶部。

你可以在这里看到一个例子: http://sqlfiddle.com/#!2/19e9ad

感谢您的帮助!

(我目前确实在使用 SQL Server,但如有任何帮助,我们将不胜感激。)

最佳答案

您可能想要检查全文索引和搜索 - 它们具有排名选项,可以为您完成这项工作:

...和搜索功能信息:

或者,您也可以制定自己的解决方案,例如解析用户输入并逐字匹配,然后提升匹配更多单词的结果,准确的单词排序等。但是您需要自己处理许多情况(例如“纽约”等多词城市)。

关于具有多个属性的 SQL 排序(按一致性排序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33632202/

相关文章:

sql-server - 如何解析 VS 中 SQL 数据库项目中的链接服务器引用?

c# - 使用 SQL Server Management Studio 进行数据库查询时遇到问题

sql-server - 无法计算出关键字 'LEFT' 附近的错误语法

sql - 使用 Postgres 解析字符串化的 JSON 对象

php - MySQL/PHP 中的时区偏移量(和 st/dst 更改)

c# - Dtcping 测试通过但仍然有 Communication with the underlying transaction manager has failed

c# - 在 linq to sql 中使用 Select New List<> 时所有元素的列表的相同实例

java - ROW_NUMBER() 没有正确排序记录

MYSQL查询和LIMIT到一行

sql - PostgreSQL 错误 : payload string too long