我想在子串的出现时搜索字符串。但我想将它们限制在特定的数量来检测。
我的角度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万条目的数据库进行查询。
如果有更好的方法来搜索此类数据,欢迎提供建议。