Try this:
DECLARE @input VARCHAR(30) = 'Acabacaga'
;WITH CTE AS
(
SELECT CONVERT(VARCHAR(1),LEFT(@input,1)) AS Letter, RIGHT(@input, LEN(@input)-1) AS Remainder
WHERE LEN(@input)>1
UNION ALL
SELECT CONVERT(VARCHAR(1),LEFT(Remainder,1)) AS Letter, RIGHT(Remainder, LEN(Remainder)-1) AS Remainder
FROM CTE
WHERE LEN(Remainder)>1
UNION ALL
SELECT CONVERT(VARCHAR(1),Remainder) AS Letter, NULL AS Remainder
FROM CTE
WHERE LEN(Remainder)=1
)
SELECT Letter, ASCII(Letter) AS CharCode, COUNT(Letter) AS CountOfLetter
FROM CTE
GROUP BY Letter, ASCII(Letter)
HAVING COUNT(Letter)>2
Result:
Letter CharCode CountOfLetter
a 97 4
For further information, please see:
Common Table Expressions[
^]. In other words, CTE rocks!