mysql中怎么统计某字段里某个字符的个数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql中怎么统计某字段里某个字符的个数相关的知识,希望对你有一定的参考价值。


CREATE  function [dbo].[GetCharIndexNum](@findstring varchar(max),@string varchar(max))
returns int
AS
BEGIN
   declare @location int , --要找的字符位置
           @num int  --要找的字符出现的次数
   
   set @num =0
   set @location = charindex (@findstring,@string)
   while @location >0  ---字符串中存在要找的字符
     begin
      set @num =@num +1
      set @string =substring(@string,@location+1,len(@string))
      set @location = charindex (@findstring,@string)
    end
return @num
END

--举个例子调用这个标量值函数 select   [dbo].[GetCharIndexNum]('5','abc5ab5')

返回值2,5这个字符出现了2次

参考技术A mysql中怎么统计某字段里某个字符的个数
select 字段名, count(*) from 表 group by 字段名
参考技术B 统计指定表中,用逗号分隔的字符串个数,如果只要统计逗号的个数把+1去掉;
select *,ROUND((LENGTH(`字段名`) - LENGTH(REPLACE (`字段名`, ",", ""))) / LENGTH(","))+1 as num 表名 WHERE `字段名`<>'';
参考技术C select char_length(某字段) from tbl

MYSQL下统计一个字段中出现字符串的种类和个数

某表有字段field1,这个字段中的数据可能出现‘aaa,bbb’,‘bbb,ccc’,‘ccc,aaa’等类似形式的多条数据,现在想分类统计各种字符串类型的出现次数,例如aaa出现多少次,要怎么写SQL语句啊
不好意思,我没说清楚,aaa,bbb,ccc都是未知的,也就是说可能有很多仲情况,要求把所有出现过的字符串都列举出来并统计出现过的次数,也有可能是一条数据中只出现aaa或者bbb

参考技术A select field1,count(*) from table group by field1

这个就是解决你那问题的。自己试下先。
参考技术B select sum(case when field1 like '%aaa%' then 1 else 0 end) as aaacount,sum(case when field1 like '%bbb%' then 1 else 0 end) as bbbcount from table1;

以上是关于mysql中怎么统计某字段里某个字符的个数的主要内容,如果未能解决你的问题,请参考以下文章

mysql怎么将字段里的字符串转换成数组,并且返回数组的元素个数, 例:字段中存储的是11.11 返回的是2

mysql 查询某一字段值不等于某个字符串的记录

mysql如何查询某字段里两个值相加结果等于已知道的一个数字

SQL查询并填写某字段个数

MYSQL语句,如果想搜索一个字段是不是包含某字符串应该怎么写

mysql怎么查询某个字段里的字符串?