Mysql 结果正好是4个小写字母a

Mysql 结果正好是4个小写字母a,mysql,regex,Mysql,Regex,从MySQL表town中,我必须找到包含4个小写字母a的所有名称的数量 SELECT count(*) FROM `town` where `name` REGEXP 我只需要那个REGEXP。有人吗 a{4} 应查找所有连续出现的4个a。非regexp解决方案是可能的: SELECT count(*) FROM `town` where length(SUBSTRING_INDEX(name, 'a', 5)) = LENGTH(name) and length(SUBSTRING_IND

从MySQL表
town
中,我必须找到包含4个小写字母a的所有名称的数量

SELECT count(*)
FROM `town`
where `name` REGEXP
我只需要那个REGEXP。有人吗

a{4}

应查找所有连续出现的4个a。

非regexp解决方案是可能的:

SELECT count(*)
FROM `town`
where length(SUBSTRING_INDEX(name, 'a', 5)) = LENGTH(name)
and length(SUBSTRING_INDEX(name, 'a', 5)) > 3

a.*a.*a.*a
将查找至少包含4个
a
的所有事件

a{4}
将找到具有四个连续a的all

[aA].[aA].[aA].[aA]
是第一个不区分大小写的版本

[aA]{4}
是第二个的不区分大小写版本


这里不需要正则表达式,如果可能的话,它是不必要的开销使用,如“%a%a%a%”。道具归我偷的雷内

这是我考试的问题。现在我们得到了答案

SELECT count(*)
FROM `town`
where
`name` REGEXP BINARY '^([^a]*a[^a]*){4}$'


是否要匹配
aaaa
aaabcad
abcaaa
aaaaBCD
,什么?类似的查询不区分大小写
*[aA].[aA].[aA].[aA].*.[aA].*/code>@火箭Hazmat我想要的是这个哇,那么多的选票和另一方的错误答案都是如此之多。不,这是通过添加collate clauseClose解决的大小写不敏感问题,但仍然不正确。现在我也得到了超过4个
a
的城镇,使用的子字符串索引限制为仅4个a'sRene,非常感谢您的回答。在我的结果列表中,不知何故,有
Aarau Postauto Aargau
Sta。Calanca的Maria和其他几个超过4个
a
sMySQL的城镇返回了一个空结果
SELECT count(*)
FROM `town`
where
length(`name`) - length(replace (`name`,'a', '')) = 4