2013-06-04 207 views
4

我想要统计字段中@符号的所有出现次数,原本我认为LIKE'%@%'将是要走的路,但是如果字符出现在这个领域不止一次,它只把它算作一个。mysql计算字段中特殊字符的出现次数

还有什么其他的方法可以用来计算每一个事件?

谢谢。

编辑 对于任何需要它的人来说,这就是我最终使用该作品的原因。

$count = 0; 
$sql = mysql_query("SELECT LENGTH(field_name) - LENGTH(REPLACE(field_name,'@','')) AS 'occurs' FROM table_name WHERE field_name LIKE '%@%'"); 
while ($data = mysql_fetch_assoc($sql)) { 
    $count += $data['occurs']; 
} 
echo $count; 
+0

数由“” – Strawberry

回答

4
select length('aa:bb:cc:dd')-length(replace('aa:bb:cc:dd',':','')); 

来源:http://lists.mysql.com/mysql/215049

+0

我不明白如何使用替换字符串的长度,并用@字符串的长度之间的区别?我使用php btw。 – FoxyFish

+0

select length('aa @ bb @ cc @ dd') - length(replace('aa @ bb @ cc @ dd','@','')); – dmikester1

+0

我还是不明白,a,b,c和d是什么? – FoxyFish

相关问题