簡體   English   中英

MySQL-輸出兩個計算字段的總和

[英]mySQL - outputting the sum of two calculated fields

我正在嘗試將等級字段轉換為總分。 因此,例如,我有兩個字段,等級1和等級1。

我可以使用以下方法將其轉換為分數:

rank1, 
CASE WHEN rank1=1 THEN 10
            WHEN rank1=2 THEN  6
            WHEN rank1=3 THEN  3
            WHEN rank1=4 THEN  2
            WHEN rank1=5 THEN  1
                        ELSE  0 END  AS score1,
rank2, 
CASE WHEN rank=1 THEN 10
            WHEN rank2=2 THEN  6
            WHEN rank2=3 THEN  3
            WHEN rank2=4 THEN  2
            WHEN rank2=5 THEN  1
                        ELSE  0 END  AS score2,

但是,如何輸出score1 + score2的總和?

我努力了:

SUM(score1 + score2) AS TotalScore,

但是它不喜歡它作為score1和score2而不是表中的字段。

謝謝!

rank1, 
CASE WHEN rank1=1 THEN 10
            WHEN rank1=2 THEN  6
            WHEN rank1=3 THEN  3
            WHEN rank1=4 THEN  2
            WHEN rank1=5 THEN  1
                        ELSE  0 END  AS score1,
rank2, 
CASE WHEN rank2=1 THEN 10
            WHEN rank2=2 THEN  6
            WHEN rank2=3 THEN  3
            WHEN rank2=4 THEN  2
            WHEN rank2=5 THEN  1
                        ELSE  0 END  AS score2,
(CASE WHEN rank1=1 THEN 10
            WHEN rank1=2 THEN  6
            WHEN rank1=3 THEN  3
            WHEN rank1=4 THEN  2
            WHEN rank1=5 THEN  1
                        ELSE  0 END
+
CASE WHEN rank2=1 THEN 10
            WHEN rank2=2 THEN  6
            WHEN rank2=3 THEN  3
            WHEN rank2=4 THEN  2
            WHEN rank2=5 THEN  1
                        ELSE  0 END) as TotalScore

將SUM()放在CASE語句周圍:

SUM(CASE WHEN rank1=1 THEN 10
        WHEN rank1=2 THEN  6
        WHEN rank1=3 THEN  3
        WHEN rank1=4 THEN  2
        WHEN rank1=5 THEN  1
                    ELSE  0 END)  AS score1,
.....

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM