在一个句子中寻找几个单词

时间:2018-05-07 07:58:53

标签: php sql select

我希望为我的网站制作一个包含多个课程的搜索工具。

我想基本上输入一个单词,如果单词存在,我们会查看所有页面,然后根据单词的出现次数对页面进行分类。

所以我创建了一个包含“coursnumero”,“textcours”,“liencours”的SQL表,并且在课程文本中我有相关课程的所有文本。

我有:

SELECT count(*) FROM `cours` WHERE `textcours` like '%super%' groupby `coursnumero`

它显示1但我的句子中有两个单词“super”,我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

我认为这会对你有帮助

SELECT count(*) FROM `cours` WHERE `textcours` LIKE 'super' OR `textcours` like '%,super' OR `textcours` like 'super,%' groupby `coursnumero`

答案 1 :(得分:0)

这有点棘手。对于您的特定情况,您可以使用:

SELECT COUNT(*) as numrows,
       SUM( LENGTH(REPLACE(textcours, 'super', 'superx')) - LENGTH(textcours)) as nummatches
FROM cours c
WHERE textcours like '%super%'
GROUP BY coursnumero;

长度的差异计算“超级”的出现次数。