0
所以我有一個CASE語句,我已經分組了。但是,我還試圖計算每個分組CASE結果的總數百分比。當我運行下面進行的命令,它給使用分組病例語句計算總數的百分比
Region Number Percentage
West Coast 11675 0
Not West Coast 104620 0
我不明白爲什麼「比例」來作爲「0」。
下面是代碼,標有'問題行'。
With [Summed Region] AS
(
SELECT
[State Province],
CASE [State Province]
WHEN 'Oregon' THEN 'West Coast'
WHEN 'Washington' THEN 'West Coast'
WHEN 'California' THEN 'West Coast'
ELSE 'Not West Coast'
END AS 'Region'
FROM
[WideWorldImportersDW].[Dimension].[City]
)
SELECT
Region,
count(Region) AS Number,
---THE PROBLEM LINE IS BELOW THIS---
count(region)/(select count(*) FROM [WideWorldImportersDW].[Dimension].
[City]) AS Percentage
FROM
[Summed Region]
GROUP BY
Region
那條線的問題是什麼?如果我將這兩部分分開,每一部分都會返回正確的數字。但是當我將另一個分開時,我會得到'0'。
謝謝!
嗯,這很容易,謝謝!在12分鐘內,我會回答這個問題...... – bbb0777
哦,是的......我想我已經用窗口函數實現了這一點,只是顯然將CASE&GROUP結合起來達到了我想象的極限。再次感謝!對於遇到這種情況的其他人 - 過於複雜,但也可以使用CAST(count(*)AS FLOAT)來通過整數事物來遍歷整個除法整數,而不是乘以1.0 – bbb0777