php - 如何统计mysql pdo中句子中的单词数

标签 php mysql sql select pdo

我将如何计算数据库中句子中的单词,例如:

id words

1  bananas, mango, orange, watermelon

2  bananas, mango, orange, watermelon

3  bananas, mango, orange, watermelon

4  bananas, mango, orange, watermelon

我只是想数一下芒果的数量,如果我数一下,得到的结果是:4

这是我的查询

"SELECT count(words)as total FROM fuit WHERE ?????";

?这意味着我不知道如何将它与 WHERE 一起使用..

但是如何在 mysql 和 pdo 中进行查询呢?

最佳答案

如果words字段中没有空格(例如bananas,mango,orange,watermelon),您可以使用FIND_IN_SET:

 SELECT ... WHERE FIND_IN_SET('mango', words)

对于空格,您必须使用正则表达式,例如:

SELECT ... WHERE words RLIKE '(^|, )mango($|,)'

更好的是,考虑“规范化”您的数据 - 创建一个单独的 words 表:

id  word
1   mango
2   orange
etc

和链接表:

doc_id    word_id
1         1
1         2
etc

关于php - 如何统计mysql pdo中句子中的单词数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30549022/

相关文章:

php - 集成 openID 和 oauth 作为网站登录、登录和身份验证系统

php - MySQL获取HH :MM之间的时间

php - 在 PHPmyadmin 中加载数据 INFILE

sql - Sybase sysobjects - DB2 中的等效表是什么?

sql - 在这个例子中,WITH 语句做了什么?我正在尝试随机生成数据

sql - MICROSOFT SQL 服务器和 windows azure 以及 Mac OS X 和 Cocoa

php - Base64 编码的图像未通过 POST 发送

php - 禁用一个 Zend Multioption 表单 MultiCheckbox

python - 如何以正确的方式在 Python 中连接到 MySQL 数据库?

mysql - 使用mySQL从多个表中选择具有最新时间戳的数据