這是我的第一篇文章,所以對格式/內容的任何一般性更正也是值得歡迎的。我對SQL比較陌生。SQL查詢來計算一列中值的總髮生次數和另一列中的相對發生率
假設我有一個數據庫收集來自分類評估的測試結果。我知道每個測試的預期結果。我也有一個列表示測試是否成功,即返回的期望值與期望值相匹配。它看起來是這樣的:
Expected_Result Result Success
A A True
A B False
B B True
A A True
B A False
我知道我可以SELECT Expected_Result, COUNT(Expected_Result) FROM Evaluation_Results GROUP BY Expected_Result
返回每個預期類型的總髮生。 我知道如何計算特定預期結果的錯誤檢測數量SELECT COUNT(*) FROM Evaluation_Results WHERE Success = 'True' AND Expected_Result = 'A'
我在哪裏掙扎就是將兩者結合在一起。我想查詢返回的所有不同的預期結果的列表,總各的,中標結果的數量,總的百分比,像這樣:
Expected_Result Total Num_Successful Success_Rate
A 3 2 66.67
B 2 1 50.00
案例表達式,不是case語句。 – jarlh
所有行的success_rate返回爲0?當成功列已經將其與expected_result進行比較時,爲什麼要使用結果? – Maps
接受爲答案,但是我刪除了求和中的'result = evaluation_result'子句,並且在將%成功率劃分之前將總和乘以100.0。也許你應該編輯你的答案。謝謝。 – Maps