Я пытался отсортировать только по числовой части имени, исключая первый или последний символ.Затем, если есть 2 с одинаковым номером, они будут отсортированы снова, например, 23 и 23A.Это должно дать вам результат, который вы искали
select name
from Analyze_Table
group by name
order by case
when isnumeric(name) = 1 then cast(name as int)
when isnumeric(left(name, 1)) = 0 and isnumeric(right(name, 1)) = 0 then cast(substring(name, 2, len(name)-2) as int)
when isnumeric(left(name, 1)) = 0 then cast(right(name, len(name)-1) as int)
when isnumeric(right(name, 1)) = 0 then cast(left(name, len(name)-1) as int) end
,name