开发者

MYSQL统计逗号分隔字段元素的个数

开发者 https://www.devze.com 2023-01-18 08:58 出处:网络 作者: 轱辘科技
写SQL的时候会遇到如下的问题,统计如下表中project_id字段中id的个数。 company_idproject_id7794882,214880,94881,154882,94871,948791402890,2872,3178,4314,497662173,5101,27488464186,4192,4193109编程客栈214

写SQL的时候会遇到如下的问题,统计如下表中project_id字段中id的个数。

company_idproject_id
7794882,214880,94881,154882,94871,94879
1402890,2872,3178,4314,4976
62173,5101,274884
64186,4192,4193
109编程客栈214899,94919,94920
3055000,4999,5011
324514,502开发者_Spark4,5262
491009,1008,1379

注意project_id是varchar(255)类型的,我们并没有现成的方法统计这个形如list的字段元素(数据库并没有list这样的对象),只能通过字符串处理的方www.devze.com式。其实规律很简编程单,我们只需要统计,的个数然后+1就可以了。那么如何求逗号个数呢?我们使用原字符串长度 与 替换了逗号后的字符串长度 相减即可,求字符串长度用char_length()函数。

select company_id
     , project_id
     , char_length(project_id) - char_length(rerlpjXQeTplace(project_id,',','')) + 1 as tag_cnt
from makepolo.local_material_tag
order by 3 descjavascript
company_idproject_idtag_cnt
7794882,214880,94881,154882,94871,948796
1402890,2872,3178,4314,49765
62173,5101,2748843
64186,4192,41933
109214899,94919,949203
3055000,4999,50113
324514,5024,52623
491009,1008,13793

可以看到,使用这个方法准确无误地计算出了逗号分隔字段元素的数量。

到此这篇关于mysql统计逗号分隔字段元素的个数 的文章就介绍到这了,更多相关MYSQL统计逗号元素内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

0

精彩评论

暂无评论...
验证码 换一张
取 消