Php Mysql:计算有多少行具有一个或多个特定关键字
我试图在一个具有不同句子的VARCHAR列的表中计算至少有一个匹配关键字的行数 例如,如果我想搜索“房子”、“猫”和“狗”,我在表格中有一些句子,如“房子装饰”、“猫咬”、“狗粮”和“房子照片”,当我搜索这些关键字时,我想得到结果3 我试过了Php Mysql:计算有多少行具有一个或多个特定关键字,php,mysql,sql,Php,Mysql,Sql,我试图在一个具有不同句子的VARCHAR列的表中计算至少有一个匹配关键字的行数 例如,如果我想搜索“房子”、“猫”和“狗”,我在表格中有一些句子,如“房子装饰”、“猫咬”、“狗粮”和“房子照片”,当我搜索这些关键字时,我想得到结果3 我试过了 SELECT COUNT(*) FROM insr WHERE `Nome` LIKE 'house' OR `Nome` LIKE 'cat' OR `Nome` LIKE 'dog'; 但是计数总是返回0 我已经搜索了很多类似的内容
SELECT
COUNT(*)
FROM insr
WHERE `Nome` LIKE 'house'
OR `Nome` LIKE 'cat'
OR `Nome` LIKE 'dog';
但是计数总是返回0
我已经搜索了很多类似的内容,但仍然没有找到任何内容您需要为类似的
使用通配符:
SELECT COUNT(*)
FROM insr
WHERE `Nome` LIKE '%house%' OR `Nome` LIKE '%cat%' OR `Nome` LIKE '%dog%';
如果没有通配符,LIKE
的行为非常类似于=
您需要为LIKE
使用通配符:
SELECT COUNT(*)
FROM insr
WHERE `Nome` LIKE '%house%' OR `Nome` LIKE '%cat%' OR `Nome` LIKE '%dog%';
如果没有通配符,LIKE
的行为非常像=
这是因为您正在寻找确切的单词。必须使用通配符查找包含单词的字段,如下所示:
SELECT count(*) FROM insr WHERE Nome LIKE '%house%' OR Nome LIKE '%cat%' OR Nome LIKE '%dog%';
这是因为你在寻找确切的单词。必须使用通配符查找包含单词的字段,如下所示:
SELECT count(*) FROM insr WHERE Nome LIKE '%house%' OR Nome LIKE '%cat%' OR Nome LIKE '%dog%';
您必须在模式中添加一个空格
SELECT COUNT(*)
FROM insr
WHERE `Nome` LIKE '% house %' OR `Nome` LIKE '% cat %' OR `Nome` LIKE '% dog %';
您必须在模式中添加一个空格
SELECT COUNT(*)
FROM insr
WHERE `Nome` LIKE '% house %' OR `Nome` LIKE '% cat %' OR `Nome` LIKE '% dog %';
可以使用正则表达式
SELECT COUNT(*) FROM insr WHERE `Nome` REGEXP 'house|cat|dog';
REGEXP添加了通配符,您不必为此担心。您可以使用正则表达式
SELECT COUNT(*) FROM insr WHERE `Nome` REGEXP 'house|cat|dog';
REGEXP添加了通配符,您不必为此担心。%对于通配符:%s对于通配符: