gpt4 book ai didi

mysql - 计算文本内的精确匹配

转载 作者:行者123 更新时间:2023-11-29 23:56:16 25 4
gpt4 key购买 nike

我有两张 table 。

  1. 分类广告,包含正文。
  2. 关键字,包含“银戒指”等关键字组合

现在我试图找出每个关键字的文本字段中有多少个完全匹配项。

例如:

chihuahua bilder    30
chihuahua charakter 230

不知何故,我的 SQL 语句缺少一些东西:

SELECT k.keyword, count(*) AS c 
FROM `classifieds` c, keywords k
WHERE c.text LIKE concat('%', + k.keyword + '%')
GROUP BY keyword

每个关键字的计数值始终相同。

有人知道错误出在哪里吗?感谢您的帮助。

最佳答案

这是棘手的 SQL:

SELECT text, keyword,
(LENGTH(c.text) - LENGTH(REPLACE(c.text, k.keyword, ''))) / LENGTH(k.keyword)
FROM classified c INNER JOIN keywords k
ON c.text LIKE CONCAT('%', k.keyword, '%');
  • 让 $replace = REPLACE(c.text, k.keyword, '')
    • 这会从文本中删除关键字
  • 让 $len = LENGTH(c.text) - LENGTH($replace)
    • 这会计算“从文本中删除了多少个字符”
  • $len/LENGTH(k.keyword)
    • 最后我们得到了keywordtext有多少个。

关于mysql - 计算文本内的精确匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25325103/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com