我想用匹配來查找文章,並計算有多少關鍵字匹配這篇文章。例如,如果我的文章是'今天的天氣非常好',並且我的關鍵字'今天很好',那麼計數應該是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
您的意思是「每行字段中的字數」? –