查找字符串出现的次数和索引

问题描述 投票:0回答:1

假设给定一个字符串,我如何获取字符,不。一个查询中出现次数和出现次数索引的组合?

例如:顾问

字符出现次数索引:

C   1   1
O   1   2
N   2   3,9
sql sql-server
1个回答
3
投票

您可以使用递归CTE将其拆分然后聚合:

with cte as (
      select convert(varchar(max), null) as c, convert(varchar(max), 'Consultant') as rest, 0 as lev
      union all
      select left(rest, 1), stuff(rest, 1, 1, ''), lev + 1
      from cte
      where rest <> ''
     )
select c, count(*), string_agg(lev, ',')
from cte
where lev > 0
group by c;

Here是db <>小提琴。

© www.soinside.com 2019 - 2024. All rights reserved.