oracle 某个表的字段值是用逗号分隔的,如 a,b,c,我想统计 包含a的有多少条,包含b的有多少条,以此类推

sql语句该怎么写

select
sum(decode(instr( x_field , 'A'),0,0,1)) a_sum,
sum(decode(instr( x_field , 'B'),0,0,1)) b_sum,
sum(decode(instr( x_field , 'C'),0,0,1)) c_sum,
from x_tab
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-07
思路:
建立一个map,key为a,b,c value为数量,默认为0
然后把所有的字段取出来,和key遍历,是否包含key,如果包含,相应的value就+1,不包含不做任何处理
相似回答