0
我認爲這是一個奇怪的四捨五入問題,但我不知道內部的SQL是如何工作的。所以也許有人可以幫忙。獲取數字的百分比
SELECT COUNT(Id) TotalReferrals,
SUM(CASE WHEN NHSCommunicationNeed1_Id IS NOT NULL THEN 1 ELSE 0 END) NHSCommNeed1Total,
SUM(CASE WHEN NHSCommunicationNeed2_Id IS NOT NULL THEN 1 ELSE 0 END) NHSCommNeed2Total,
SUM(CASE WHEN NHSCommunicationNeed3_Id IS NOT NULL THEN 1 ELSE 0 END)
NHSCommNeed3Total
INTO #Totals
FROM DDS.Referrals
給我下面的結果集
TotalReferrals NHSCommNeed1Total NHSCommNeed2Total NHSCommNeed3Total
1008 1008 508 508
後來,當我做到這一點
SELECT
SUM((NHSCommNeed1Total/TotalReferrals) * 100) NHSCommNeed1Percent,
SUM((NHSCommNeed2Total/TotalReferrals) * 100) NHSCommNeed2Percent,
SUM((NHSCommNeed3Total/TotalReferrals) * 100) NHSCommNeed3Percent
FROM #Totals
我得到這個?
NHSCommNeed1Percent NHSCommNeed2Percent NHSCommNeed3Percent
100 0 0
有人能解釋這是怎麼回事,如何解決它
感謝。有什麼辦法可以合併這兩個語句,所以我不必插入到#Totals中,只需查詢DDS。參考 –
而不是插入它們,將第一個查詢換成另一個select,並在那裏進行聚合。 @BenDonnelly – sagi
或者他們可以用'THEN 1.0 ELSE 0 END'在'CASE'表達式中修復它。 –