SQL语句中的返回百分比而不是数字

SQL语句中的返回百分比而不是数字,sql,sql-server,Sql,Sql Server,我有以下Select语句: SELECT CONVERT(VARCHAR(50), 'Black Ownership') AS Category, COUNT(temp.IndividualId) AS NumberForCategory, COALESCE(SUM(CASE WHEN temp.RaceId = 1 THEN 1 ELSE 0 END), 0) AS AfricanHeadCount, 返回: 我试图实现的是,AfricanHeadCount列应该

我有以下Select语句:

SELECT 
    CONVERT(VARCHAR(50), 'Black Ownership') AS Category,
    COUNT(temp.IndividualId) AS NumberForCategory,
    COALESCE(SUM(CASE WHEN temp.RaceId = 1 THEN 1 ELSE 0 END), 0) AS AfricanHeadCount,
返回:


我试图实现的是,
AfricanHeadCount
列应该是
NumberForCategory
除以整个总和乘以100得到一个百分比。因此,
AfricanHeadCount
应该是
0.33
而不是1,我如何实现这一点?

最简单的方法是使用
AVG()


只需像通常对百分比使用基本除法:
Subset Number/Total Number=Subset percentage
(请注意,对于
decimal
答案,您需要使用小数。)为什么
转换(VARCHAR(50),“黑色所有权”)
AVG(CASE WHEN temp.RaceId = 1 THEN 100.0 ELSE 0 END) AS African_percentage,