表中字段有多个用逗号分开的数据如何统计它的个数

比如表aidtype11,2,3,421,2,32,4,5我要查询任一ID对应的type中有多少?谢谢!我想要的结果是:idcount142233最好能用SQL语句解决。... 比如表 a
id type
1 1,2,3,4
2 1,2,
3 2,4,5
我要查询任一ID对应的type中有多少?
谢谢!
我想要的结果是:
id count
1 4
2 2
3 3
最好能用SQL语句解决。

能不能加点注释呢?那样就更棒了,呵呵
展开
 我来答
sunny2zhang1
2010-08-03 · TA获得超过273个赞
知道小有建树答主
回答量:300
采纳率:0%
帮助的人:141万
展开全部
select id ,length(replace(type,',',',,'))-length(type)+1 as ad from tablename

思路就是把','替换成',,'这样通过比较替换前后的字符串长度就可以知道有多少个‘,’了,那么你要的个数就是‘,’数量加1
西安_白小鹏
2010-08-03 · TA获得超过436个赞
知道小有建树答主
回答量:127
采纳率:0%
帮助的人:90.5万
展开全部
set @str1='1,2,3,4'
set @str2=','
select len(replace(@str1,@str2,@str2+','))-len(@str1)+1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kkkkkaz
2010-08-03 · 超过32用户采纳过TA的回答
知道答主
回答量:103
采纳率:0%
帮助的人:52万
展开全部
我试验了一下,能达到你的目的:
selct id,[count]=case len([type])%2 when 0 then len[type]/2 when 1 then (len[type]+1)/2 end
from yourtable
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Lsession
2010-08-03
知道答主
回答量:24
采纳率:0%
帮助的人:0
展开全部
直接查询非空的数据的行数 用函数count()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式