将分数分配给表值

时间:2012-05-23 16:06:29

标签: mysql triggers

使用以下查询:

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

查询中是否有办法为“严重性”列中的每个数字指定一个值,然后对这些新值求和?

例如我现在有:

严重性Last_Update 1 5/1/2012 1 5/1/2012 2 5/1/2012 2 5/1/2012 3 5/1/2012 3 5/1/2012

我希望所有1分获得10分,2分,得分为9分和3分,得分为6分

有没有办法在查询中执行此操作?或者有没有办法在每次输入新的严重性数字时使用触发器自动将每个严重性的分数插入表中?

1 个答案:

答案 0 :(得分: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