2017-01-05 47 views
0

我有如下表格,其中包含除百分比以外的所有字段。根據我需要計算每個病例ID的百分比的總病例數。爲了便於解釋,我選擇如下的數字。因此,所有案例的總案例數爲100,其中案例id爲35例,所以其百分比爲35.我可以使用哪種腳本來獲取這些總百分比值並相應地更新表格。SQL根據表中的現有數據計算百分比並更新

CaseID NumHighCases NumMedCases NumLowCases TotalCases TotalPerc 
1   10   20   5   35   35% 
2   5    5   5   15   15% 
3   8    12   20   40   40% 
4   3    4   3   10   10% 
+1

爲什麼要更新表?爲什麼不在每次你需要它時都可以進行計算? – Mureinik

+1

什麼是實現上述的SQL。看來你只需要SQL中的Total_cases/sum(total_cases)(由null分區)作爲totalPerc'來選擇數據。 – xQbert

回答

4
TotalPerc = (TotalCases*100.0)/sum(TotalCases) over (partition by null) 

注* 100是增加精確的,否則一個int/INT會返回一個int。

+0

我認爲[2008](https://msdn.microsoft.com/en-us/library/ms189461.aspx)窗口函數...但也許我錯了。 – xQbert

+0

對不起約翰,我刪除了我的評論。我看到,我認爲這樣做是一次性的,而不是做兩次選擇當然會更有效率。我意識到我正在將OP問題解釋爲具有所有這些預先存在的列的靜態表,而我認爲您和xQbert的解決方案是在OP期間嘗試計算這些信息的理解, -飛。那是對的嗎? – Santi

+0

@xQbert我認爲你是對的。自從2008年以來,我已經有一段時間了。我敢問你,昨天晚上我吃了什麼晚餐:) –