使用以下查询:
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分
有没有办法在查询中执行此操作?或者有没有办法在每次输入新的严重性数字时使用触发器自动将每个严重性的分数插入表中?
答案 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