select * from table1
select *
into #t
from (
SELECT A,
(SELECT C+'' FROM table1
WHERE A=t1.A
FOR XML PATH('')) AS ls
FROM table1 t1
GROUP BY A
) c
declare @str varchar(20)
set @str='345'--要查找的字符
select A,len(replace(ls, @str, '*'))-len(REPLACE(replace(ls, @str, '*'),'*',''))
from #t
表按B列有序排列,现找出A列相同的,C列按3,4,5出现的次数。
备注:
先把表按A聚合,C列转为行
相同字符用*代替,再把*用空代替,前长度减后长度