[英]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.