我希望为我的网站制作一个包含多个课程的搜索工具。
我想基本上输入一个单词,如果单词存在,我们会查看所有页面,然后根据单词的出现次数对页面进行分类。
所以我创建了一个包含“coursnumero”,“textcours”,“liencours”的SQL表,并且在课程文本中我有相关课程的所有文本。
我有:
SELECT count(*) FROM `cours` WHERE `textcours` like '%super%' groupby `coursnumero`
它显示1但我的句子中有两个单词“super”,我该如何解决这个问题?
答案 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;
长度的差异计算“超级”的出现次数。