怎么实现将score列的A、B、C按照3、2、1的值相加,求出score列的和来
select sum(case score when 'A' then 3 when 'B' then 2 when 'C' then 1 else 0 end) from [TableName]
其它情况设置为0分
select sum(case t.score when 'A' then 3 when 'B' then 2 when 'C' then 1 end) from table t
更好的一个方法是加一张表,如下
ScoreName ScoreValue
A 3
B 2
C 1
然后你可以用Inner join表连接查询。需要修改数值的话也容易。