我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

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

company_idproject_id
7794882,214880,94881,154882,94871,94879
1402890,2872,3178,4314,4976
62173,5101,274884
64186,4192,4193
109214899,94919,94920
3055000,4999,5011
324514,5024,5262
491009,1008,1379

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

select company_id
     , project_id
     , char_length(project_id) - char_length(replace(project_id,',','')) + 1 as tag_cnt
from makepolo.local_material_tag
order by 3 desc
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统计逗号元素内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

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

写SQL的时候会遇到如下的问题,统计如下表中project_id字段中id的个数。company_idproject_id7794882,214880,94881,154882,94871,948791402890,2872,3178,4
2023-01-17

MySQL将一个字段中以逗号分隔的取出来形成新的字段实现

1例如:要把如图1的字段拆分图2select account_id,substring_index(substring_index(a.related_shop_ids,',',b.help_topic_id+1),',',-1) shop
2022-05-15

mysql对以逗号分隔的字段内容进行查询——find_in_set函数或locate函数

mysql对以逗号分隔的字段内容进行查询 find_in_set函数 背景 使用mysql时,有可能一个字段代表一个集合,如果将这个集合单独抽成一张表又不值当的,这个时候我们存储时,可以选择用逗号将数据分隔开(只能用英文的逗号),如图所示:
2023-08-19

SQL查询之字段是逗号分隔开的数组怎么查询匹配数据

这篇文章主要介绍“SQL查询之字段是逗号分隔开的数组怎么查询匹配数据”,在日常操作中,相信很多人在SQL查询之字段是逗号分隔开的数组怎么查询匹配数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SQL查询之字
2023-03-09

SQL查询之字段是逗号分隔开的数组如何查询匹配数据问题

目录字段是逗号分隔开的数组如何查询匹配数据方式一:CHARINDEX***()*****方式二:WHERE LIKEmysql逗号分隔的字段查询1.like2.find_in_set3.regexp总结字段是逗号分隔开的数组如何查询匹配数据
2023-03-06

mysql怎么统计同一字段不同值的个数

今天小编给大家分享一下mysql怎么统计同一字段不同值的个数的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。在一个项目中,制作
2023-07-04

mysql如何统计同一字段不同值的个数

目录订单表解决方案汇总方案1方案2解决思路总结在一个项目中,制作呃echart图表的时候,遇到一个需求,需要从后端接口获取数据----售票员的姓名和业绩所以需要在订单表中,获取不同售票员的订单数量。订单表解决方案汇总mysql 统计一
2022-11-30

MYSQL: sql中某一个字段内容为用逗号分割的字符串转换成多条数据(适用于部分树机构)

1.创建表的示例 CREATE TABLE tbl_name( id int(11) not null auto_increment, userName varchar(100) not null,
2023-08-17

编程热搜

目录