2012-05-23 71 views
0

使用下面的查詢:分配評分表值

SELECT sum(severity) as Score, DATE_FORMAT(LAST_UPDATE,"%Y-%m") as  
score_date 
FROM missingpatches 
GROUP BY score_date 

有沒有在查詢中的方式在「嚴重程度」列分配每個數字的值,然後總結這些新的價值?

例如現在我有:

嚴重性LAST_UPDATE 1 2012年5月1日 1 2012年5月1日 2 2012年5月1日 2 2012年5月1日 3 5/1/2012 3 2012年5月1日

而且我想全1有成績的10,2對有成績的9和3秒有一個評分的6

有沒有一種辦法在查詢內做到這一點?或者是否有辦法在每次輸入新的嚴重性數字時使用觸發器自動將每個嚴重性的分數插入表中?

回答

0

您可以嘗試使用CASE WHEN THEN

SELECT sum(CASE severity WHEN 1 THEN 10 WHEN 2 THEN 9 WHEN 3 THEN 6 END) as Score, DATE_FORMAT(LAST_UPDATE,"%Y-%m") as  
score_date 
FROM missingpatches 
GROUP BY score_date 
+0

完美,謝謝! – Ben