计算子字符串的出现次数,限制子字符串的数量

时间:2014-01-13 13:56:29

标签: php mysql

我想在子串的出现时搜索字符串。但我想将它们限制在特定的数量来检测。

我的角度VARCHAR看起来像这样:

0,90,0,90,180,180,270,0,270,0,90

我的第一次尝试是使用LIKE语句。但我无法计算出现的情况:

SELECT *   FROM anglesTable WHERE corners LIKE "%180%' AND corners LIKE "%270%'  LIMIT 1000 

我的第二次尝试是这样的:

 SELECT  *, foo.counts270,foo.counts180,foo.counts60 FROM 
   (
     SELECT anglesNew.*, 
            LENGTH( corners) - LENGTH(REPLACE(corners, '270', '')) AS counts270,
            LENGTH( corners) - LENGTH(REPLACE(corners, '180', '')) AS counts180, 
            LENGTH( corners) - LENGTH(REPLACE(corners, '60', '')) AS counts60 
     FROM anglesNew 
   ) as foo

但这太慢了。

我想知道是否有更快捷的方式通过300万条目的数据库进行查询。

如果有更好的方法来搜索此类数据,欢迎提供建议。

0 个答案:

没有答案