विभाजित करने से पहले आपको कास्ट करना चाहिए, लेकिन तालिका से कुल गिनती प्राप्त करने के लिए आप एक सबक्वायरी भी खो रहे थे। ये रहा नमूना।
select
random_int,
count(random_int) as Count,
cast(count(random_int) as decimal(7,2)) / cast((select count(random_int) from test) as decimal(7,2)) as Percent
from test
group by random_int
order by random_int;