如何使用计算列计算百分比



我试图使用计算列计算百分比。通过将下面的MS Sql查询添加到计算列中。

Select (([Apple]*100) / (NULLIF([Apple]+[Samsung]+[Vivo]+[MI]+[oppo]+[Oneplus],0))) As PerOfApple  
From [dbo].[CellPhone]

但在执行这个查询后,我在(PerOfApple(列的每一行中都得到了null值。

我认为您需要coalesce():

Select ([Apple] * 100.0) /
NULLIF(coalesce([Apple], 0) + coalesce([Samsung], 0) + coalesce([Vivo], 0) + coalesce([MI], 0) + coalesce([oppo], 0) +coalesce([Oneplus], 0), 0)
)  As PerOfApple
From [dbo].[CellPhone];

注意,我用100.0替换了100。SQL Server执行整数除法,这可能不适合此计算。

最新更新