2014-01-30 82 views
-2

我想搜索表格列。并选择包含字符串的所有行。SQL选择和排序相关性

我这样做,在这条路上:

select * from memos where contains (article, '"test*"') 

接下来的问题是订购的相关性acticles。所以,如果一条记录包含4次wordpart'test'这个单词,我希望它在上面,如果它包含3次单词'test',我希望它低于4.所以,要命令一个单词连续出现多少次。

+0

请添加标签,指出您正在使用的数据库系统 –

+0

Godaddy?你在错误的地方。如果您要求我们提供代码,您试图解决您的问题的是什么? – Kermit

回答

3

假设文章被存储为varchar()nvarchar(),那么你就可以做到这一点

select * 
from memos 
where contains (article, '"test*"') 
order by len(replace(article, 'test', 'test1')) - len(article) desc; 

这将替换test一个字符串一个字符长,测量长度,然后减去原来的长度。瞧。 test发生的次数。这应该只发生在具有搜索词的文章上。

我不确定SQL Server是否内置了全文引擎。

+0

+1正确计数测试发生的方法。虽然我会想象你想要订单减少 –

+0

@ t-clausen.dk。 。 。谢谢。 –