我想用匹配来查找文章,并计算有多少关键字匹配这篇文章。例如,如果我的文章是'今天的天气非常好',并且我的关键字'今天很好',那么计数应该是2,我该怎么做。当我使用下面的代码时,它会统计多少文章匹配,但不会计算文章中匹配多少个关键字。如何统计内容mysql匹配中的单词匹配?
<?php
SELECT COUNT(*) FROM table WHERE MATCH (article) AGAINST ('today nice');
?>
我想用匹配来查找文章,并计算有多少关键字匹配这篇文章。例如,如果我的文章是'今天的天气非常好',并且我的关键字'今天很好',那么计数应该是2,我该怎么做。当我使用下面的代码时,它会统计多少文章匹配,但不会计算文章中匹配多少个关键字。如何统计内容mysql匹配中的单词匹配?
<?php
SELECT COUNT(*) FROM table WHERE MATCH (article) AGAINST ('today nice');
?>
请检查下面的例子。
1.包含单词“今天”和“好”获取计数
SELECT COUNT(*) FROM table WHERE MATCH(article) AGAINST('+today +nice' IN BOOLEAN MODE);
2.含有单词“今天”,但排名列获取计数更高,如果它们也包含“好”
SELECT COUNT(*) FROM table WHERE MATCH(article) AGAINST('+today nice' IN BOOLEAN MODE);
获取计数包含词‘今天’或‘好’
SELECT COUNT(*) FROM table WHERE MATCH(article) AGAINST('today nice' IN BOOLEAN MODE);
欲了解更多详情,你可以骑MYSQL Documentation。
希望这对你有帮助!
将'the'
替换为您尝试计数的子字符串值。用您的列名称替换`text`
。
SELECT (LENGTH(`text`) - LENGTH(REPLACE(`text`, 'the', '')))/LENGTH('the') AS total
FROM someTable;
感谢您的回复。但我想要统计一行中有多少单词匹配,您的示例正在计算多少行匹配。 – conan
您的意思是“每行字段中的字数”? –