mysql – 计算VARCHAR字段中字符串的出现次数?

我有一个这样的表:

TITLE          |   DESCRIPTION
------------------------------------------------
test1          |   value blah blah value
test2          |   value test
test3          |   test test test
test4          |   valuevaluevaluevaluevalue

我试图找出如何返回一个字符串出现在每个DESCRIPTION的次数。

所以,如果我想计数“值”出现的次数,sql语句将返回:

TITLE          |   DESCRIPTION                  |   COUNT
------------------------------------------------------------
test1          |   value blah blah value        |   2
test2          |   value test                   |   1
test3          |   test test test               |   0
test4          |   valuevaluevaluevaluevalue    |   5

有什么办法吗?我不想使用php在所有,只是mysql。

这应该做的诀窍:

SELECT 
    title,
    description,    
    ROUND (   
        (
            LENGTH(description)
            - LENGTH( REPLACE ( description, "value", "") ) 
        ) / LENGTH("value")        
    ) AS count    
FROM <table> 
http://stackoverflow.com/questions/12344795/count-the-number-of-occurences-of-a-string-in-a-varchar-field

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:mysql – 计算VARCHAR字段中字符串的出现次数?