我想使用匹配来查找文章,并计算与本文匹配的关键字数量。例如,如果我的文章是“今天的天气非常好”,而且我的关键字“今天很好”,那么计数应为2,我该怎么办呢。当我使用下面的代码时,它会计算文章匹配的数量,但不会计算文章中的关键字匹配数量。
<?php
SELECT COUNT(*) FROM table WHERE MATCH (article) AGAINST ('today nice');
?>
&#13;
答案 0 :(得分:0)
请查看以下示例。
1。获取包含&#39;今天&#39;并且很好的&#39;
SELECT COUNT(*) FROM table WHERE MATCH(article) AGAINST('+today +nice' IN BOOLEAN MODE);
2。获取包含&#39;今天&#39;但如果它们还包含“不错”,则排列得更高。
SELECT COUNT(*) FROM table WHERE MATCH(article) AGAINST('+today nice' IN BOOLEAN MODE);
3。获取包含&#39;今天&#39;或者很好的&#39;
SELECT COUNT(*) FROM table WHERE MATCH(article) AGAINST('today nice' IN BOOLEAN MODE);
有关详情,您可以乘坐MYSQL Documentation。
希望这对你有所帮助!
答案 1 :(得分:0)
将'the'
替换为您要计算的子字符串值。将`text`
替换为您的列名。
SELECT (LENGTH(`text`) - LENGTH(REPLACE(`text`, 'the', ''))) / LENGTH('the') AS total
FROM someTable;
答案 2 :(得分:0)
以下示例可能会有所帮助:
mysql> select `id`, `url`, LENGTH(`url`) - LENGTH(REPLACE(`url`, '/', '')) as `number` from `url`;
+----+-------------------------------+--------+
| id | url | number |
+----+-------------------------------+--------+
| 1 | http://www.google.com | 2 |
+----+-------------------------------+--------+