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 2012 年 5 月 1 日 3 2012 年 5 月 1 日

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

有没有办法在查询中做到这一点?或者有没有办法在每次输入新的严重性数字时使用触发器自动将每个严重性的分数插入表中?

4

1 回答 1

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
于 2012-05-23T16:25:09.063 回答