sql 有个字段里存的用逗号相隔的数据。如何对这些数据进行统计

项目表id1项目名称1负责人1,负责人2,负责人3项目表id2项目名称2负责人1,负责人2项目表id3项目名称3负责人3我想统计每个负责人都负责了多少个项目。应该怎么写语... 项目表id1 项目名称1 负责人1,负责人2,负责人3
项目表id2 项目名称2 负责人1,负责人2
项目表id3 项目名称3 负责人3
我想统计每个负责人都负责了多少个项目。应该怎么写语句
这里的负责人1 负责人2 是我随便 写的。只是想表达这是几个人名。张三,李四这种。全是未知的不知道有哪些人名。
展开
 我来答
wht8008
推荐于2017-09-04 · TA获得超过2061个赞
知道小有建树答主
回答量:2328
采纳率:66%
帮助的人:630万
展开全部
select count(*)from table where 字段 like ‘%负责人%’

想复杂一些,就要写函数了

create function func_splitstring
(@str nvarchar(max),@split varchar(10))
returns @t Table (c1 varchar(100))
as
begin
declare @i int
declare @s int
set @i=1
set @s=1
while(@i>0)
begin
set @i=charindex(@split,@str,@s)
if(@i>0)
begin
insert @t(c1) values(substring(@str,@s,@i-@s))
end
else begin
insert @t(c1) values(substring(@str,@s,len(@str)-@s+1))
end
set @s = @i + 1
end
return
end

select * from dbo.func_splitstring('人1,人2,人3', ',')

执行完之后,然后再用in的方法来进行统计
追问
这里的负责人1 负责人2 是我随便 写的。只是想表达这是几个人名。张三,李四这种。全是未知的不知道有哪些人名。
好像和你给的答案不太一致。不过很谢谢你。
本应该设个一对多表就好弄了。可客户要求不设表。这人名全是随机录的。可他还想统计。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式