如何创建一个使用LIKE
运算符匹配多个字符串的 SQL 查询,然后ORDERS
根据它获得的匹配数得出结果?
另外,有没有办法存储匹配的数量,以便我以后可以在 PHP 中使用该数字进行其他计算?
我目前正在使用另一个 Stack Overflow 答案中的代码
SELECT searchtopics_topicid, searchtopics_content FROM searchtopics
WHERE searchtopics_content
LIKE '%string1%' OR searchtopics_content
LIKE '%string2%' OR searchtopics_content
LIKE '%string3%'
ORDER BY
case when searchtopics_content LIKE '%string1%' then 1 else 0 end +
case when searchtopics_content LIKE '%string2%' then 1 else 0 end +
case when searchtopics_content LIKE '%string3%' then 1 else 0 end
DESC