2017-06-10 1 views
-1

は、SQLを使用してフォーマット以下に、カウントを取得する文字列のSQLで数える「aaabbcdFFFFGGH」取得文字が

A 3 
B 2 
C 1 
D 1 
F 4 
G 2 
H 1 
+0

SOへようこそ。この[how-to-ask](http://stackoverflow.com/help/how-to-ask)を読んでそこのガイドラインに従って、プログラミングを記述するコードやエラーメッセージなどの追加情報を使用して質問を洗練してください問題。 – thewaywewere

+0

あなたの質問には、使用しているデータベースをタグ付けする必要があります。さらに、これはSQLの自然な操作ではないことに気づくべきです。 –

答えて

0
DECLARE @Original_String VARCHAR(50); 
declare @searchstring varchar(10); 
DECLARE @RESULT TABLE (Characters VARCHAR(5),COUNTS INT) 
SET @Original_String='aaabbcdFFFFGGH' 

DECLARE @i int=65 
WHILE @i < 91 
BEGIN 

set @searchstring = CHAR(@i) 

IF len(@original_string) - len(replace(@original_string, @searchstring, ''))<>0 
BEGIN 
INSERT INTO @RESULT VALUES(@searchstring,len(@original_string) - len(replace(@original_string, @searchstring, ''))) 
END 
SET @[email protected]+1; 
END 

SELECT * FROM @RESULT 
0

として、あなたはので、ここで、あなたのDBMSを述べなかったPostgresのためのソリューションです:

select upper(w), count(*) 
from regexp_split_to_table('aaabbcdFFFFGGH','') as t(w) 
group by upper(w) 
order by upper(w); 
0

もしチャンスSQL Serverの

例による

Declare @String varchar(max) = 'aaabbcdFFFFGGH' 

Select CharVal = Substring(@String,N,1) 
     ,CharCnt = count(*) 
From (Select Top (len(@String)) N=Row_Number() Over (Order By (Select NULL)) From master..spt_values N1,master..spt_values N2) N 
Group By Substring(@String,N,1) 

戻り

CharVal CharCnt 
a  3 
b  2 
c  1 
d  1 
F  4 
G  2 
H  1 
関連する問題