Php 计数子字符串的出现次数,并限制子字符串的数量
我想在出现子字符串时搜索字符串。但我想把它们限制在特定的检测量 我的VARCHAR看起来像这样:Php 计数子字符串的出现次数,并限制子字符串的数量,php,mysql,Php,Mysql,我想在出现子字符串时搜索字符串。但我想把它们限制在特定的检测量 我的VARCHAR看起来像这样: 0,90,0,90,180,180,270,0,270,0,90 我的第一次尝试是用一个类似的语句。但我无法计算发生的次数: SELECT * FROM anglesTable WHERE corners LIKE "%180%' AND corners LIKE "%270%' LIMIT 1000 我的第二次尝试是: SELECT *, foo.counts270,foo.cou
0,90,0,90,180,180,270,0,270,0,90
我的第一次尝试是用一个类似的语句。但我无法计算发生的次数:
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万条记录的数据库来查询
如果有更好的方法来搜索此类数据,欢迎提供建议。可能是这里的关键。为什么要从子查询中选择?删除外部选择我发现: