当前位置: 首页 > 面试题库 >

MySQL计数匹配词

祖新觉
2023-03-14
问题内容

如何查询以获取字段中匹配单词的数量,特别是在MySQL中。我只需要获取“搜索字词”出现在字段值中的次数即可。

例如,值是“一二一二”,所以当我搜索单词“一”时,它应该给我3

是否有可能?因为当前我只是从数据库中提取值,并使用服务器端语言进行计数。

谢谢


问题答案:

您可以创建一个可直接在SQL中使用的函数,以便一步一步完成所有操作。

这是我在MySQL网站上找到的函数:

delimiter ||
DROP FUNCTION IF EXISTS substrCount||
CREATE FUNCTION substrCount(s VARCHAR(255), ss VARCHAR(255)) RETURNS TINYINT(3) UNSIGNED LANGUAGE SQL NOT DETERMINISTIC READS SQL DATA
BEGIN
DECLARE count TINYINT(3) UNSIGNED;
DECLARE offset TINYINT(3) UNSIGNED;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET s = NULL;

SET count = 0;
SET offset = 1;

REPEAT
IF NOT ISNULL(s) AND offset > 0 THEN
SET offset = LOCATE(ss, s, offset);
IF offset > 0 THEN
SET count = count + 1;
SET offset = offset + 1;
END IF;
END IF;
UNTIL ISNULL(s) OR offset = 0 END REPEAT;

RETURN count;
END;

||

delimiter ;

您应该像这样使用它:

SELECT substrCount('one two one onetwo', 'one') `count`; // Returns 3


 类似资料:
  • 我有一个问题,很高兴收到你的反馈。在MySQL中更新我的表的数据时,出现以下消息: 该表为: INT NOT NULL AUTO_INCREMENT,VARCHAR(50)NOT NULL,日期NOT NULL,日期NOT NULL,INT NOT NULL,VARCHAR(10)NOT NULL,INT NOT NULL,主键 和代码: 和 提前感谢!

  • 问题内容: 我在和中遇到以下问题: 我调用以下javascript方法: 来自firebug的链接将如下所示: 根据以下链接: 错误:Sys.ParameterCountException:参数计数不匹配。 我设置 但我得到另一个错误 IE中不存在此问题。 编辑: 问题答案: 可能值得包装数据:用引号引起来的项目 变成

  • 问题内容: 假设我有一个文件,该文件包含以下内容: 我编译一个模式以查找“ Hello” 然后,我使用inputstream读取文件并将其转换为String,以便可以对其进行正则表达式处理。 匹配器在文件中找到匹配项后,就会进行指示,但不会告诉我找到了多少个匹配项。只是它在字符串中找到了一个匹配项。 因此,由于字符串相对较短,并且我正在使用的缓冲区为200个字节,因此它应该找到三个匹配项。但是,它

  • 我在尝试计算firestore读取计数时遇到了一些问题。firestore的读取计数总是以非常高的速度激增(每次我重新加载页面时,读取计数都会增加100个),尽管只有大约15个用户。即使我没有重新加载页面,firestore读取计数也会自动上升,这是因为订阅行为导致读取数据操作不时刷新吗?(我读过一些文章,建议如果用户只想提取一次数据,就使用“一次”)。 下面是代码片段(ts): firestor

  • 问题内容: 如何在mysql中匹配整个单词? 举例来说,如果我输入“ 刘 ”,我 不 希望匹配“ 劳拉 ”或“ 劳伦斯 ”。 以下是我的工作查询,将“ lau ”与“ laura ”匹配 有解决我的主意吗? 我使用的原因是我的内容具有html标签,例如, 我不想搜索可能落在诸如的标签内的单词。 问题答案: 这行得通吗? REGEXP’[^ <] * lau [[:>:]]’ 根据文档,[[:::]

  • 由于我是一个新手,并不知道如何匹配这样的东西,我希望有人能帮助我。提前道谢。 编辑1: 我使用了一个节点匹配器,它是我的一个同事创建的,如下所示: 现在我有了一个非常酷的PactDslWithProvider,如下所示: 方法“minmaxType”将一个MinMaxTypeMatcher添加到带有节点路径的body-category中。的实际行为:它匹配的最内部节点的type、min和max。例