php - 是否可以在不使用php的情况下计算mysql表的单个单元格中字符串的重复次数?

标签 php mysql sql database

我有一个大表(mysql),它将段落存储在其一列中。我想计算特定字符串在此列中重复的次数。 (PS:我对计算字符串存在的行数不感兴趣) 例如,考虑该列中的以下三行

---------------------------------
this is a very very big paragraph
---------------------------------
this is a very big paragraph
---------------------------------
this is a small paragraph
---------------------------------

在这种情况下,如果我搜索“very”,它必须返回“3”, 如果我使用以下命令,它将返回“2”。

select count(*) from table_name where column_name like ' very ';

我对此不感兴趣。

这在mysql中可能吗?或者我需要获取每个段落并使用 php 来计算字符串的重复次数?我是 SQL 新手。

最佳答案

使用这个

 SELECT 
        SUM(ROUND (   
            (
                LENGTH(column_name)
                - LENGTH( REPLACE ( column_name, "very", "") ) 
            ) / LENGTH("very")        
        )) AS count    
    FROM table_name 

关于php - 是否可以在不使用php的情况下计算mysql表的单个单元格中字符串的重复次数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33164360/

相关文章:

php - 如何比较两个包含用户详细信息的数组作为数组并从一个数组中删除匹配的元素?

php - yii2数据提供者查询需要很长时间

Mysql、handlersocket 和分区?

mysql - SQL 案例 - 如果一个值等于某事然后做某事

php - 如何为抽象类设置模拟的 protected 属性?

php - 将 PHP 连接到 Cloud SQL

mysql - 计算该行过去一小时内具有时间戳的行数

Php Mysql select查询问题和regexp

mysql - 如何在 MYSQL 中的多个表之间进行复杂的求和/计数连接

sql - MSSQL 中带有 XML 查询的存储过程参数给出 "argument must be string literal"