2017-09-19 60 views
-1

我有轉化的問題如下:SQL - SUM函數

OPP_auftag  sum_correct  sum_incorrect 
--------------------------------------------------------------- 
yes    770    1324 
no    4512   79 

到:

OPP_auftrag  sum_complete 
--------------------------------------- 
yes     5282 
no     1403 

請鴕鳥政策感到困惑與OPP_auftrag '是' 和 '不'。我想在行yes和列'sum_complete'中總結'sum_correct'(770 + 4512)列,並將sum_incorrect與列'no'中的sum列相同。 任何快速建議? 謝謝!

+0

可能需要解釋一下你爲什麼要這麼做。有些查詢會給你這個結果,但不清楚爲什麼當sum_correct的數據映射到'yes'和'no'時,爲什麼sum_correct映射爲'yes'。這些建議會給你你想要的結果將不太可能反映你爲什麼會這麼做的邏輯。 OPP_auftag和OPP_auftrag是不同的字段,還是它是一個錯字?你能描述你的數據模型嗎? –

+0

我實現了一個隨機森林算法來預測一個訂單...我已經有一些數據的值'order'和'no_order'...所以我試圖讓隨機森林算法預測它,這是隨機的結果森林算法計數770正確的領域,我有'訂單',他計算了4512正確的領域,我有領域'no_order'第二個代碼是結論:他預測5282行右(秩序或no_order),他預測1403行錯誤。 ..對於第一語言不是英語的人來說,很難形容,但我已經在下面找到了一種解釋。 – mafin

+0

順便說一句,我不明白爲什麼我得到我的問題倒票。我有問題解決這個問題,我不能在網上找到這個主題:(看起來並不是每個用戶都知道業餘愛好者也使用這個網站來提問...... – mafin

回答

0
SELECT OPP_auftrag , CASE OPP_auftrag WHEN 'yes' THEN (SELECT SUM(sum_correct) FROM OPP_auftrag) 
ELSE (SELECT SUM(sum_incorrect) FROM OPP_auftrag) END AS sum_complete 
FROM yourTable 
GROUP BY OPP_auftrag 
+0

謝謝,我只需要編輯幾個名字:SELECT OPP_auftrag,CASE OPP_auftrag WHEN'yes'THEN(SELECT SUM(sum_correct)FROM OPP_auftrag) ELSE(SELECT SUM(sum_incorrect)FROM OPP_auftrag)END AS sum_complete FROM yourTable GROUP BY OPP_auftrag – mafin

0
SELECT sum_correct + sum_incoorect FROM yourtable WHERE OPP_auftag = 'yes' 
UNION ALL 
SELECT sum(sum_incoorect) FROM yourtable