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 に答える