/* 统计一个表中某个字符出现最多的字母 */ --创建数据测试环境 create table #tb(a varchar(200)) insert into #tb select 'abcdasdlfjaslk;dfqwoieurwhft' union all select 'a;sldkjfal;sopqwhtdlkdafrfgsgasdfh' union all select 'asldfkworufgsea87y9oqwpe tchgwccmnqnw3 ' --为字符分拆准备临时表,top 200 是根据要分拆的字符串的最大长度而定的, --在测试中,因为a字段的最大为200,故这里用 top 200 select top 200 id=identity(int,1,1) into #aa from (select top 100 id from syscolumns) a ,(select top 100 id from syscolumns) b ,(select top 100 id from syscolumns) c --得到结果 select top 1 substring(a,b.id,1) from #tb a,#aa b where substring(a.a,b.id,1)<>'' group by substring(a.a,b.id,1) order by sum(1) desc drop table #tb,#aa