我有一个表,其中包括一个ENUM字段值'B', 'N', 'F'和'V'。我想给每一个字母分配一个权重:
B: -2
N: -1
F: 1
V: 2
这些权重应该出现在select语句的列中。最后,我想把这些值加在一起。这可能吗?
目标是在django中做到这一点,但使用MySQL也可以。
使用CASE
表达式:
select sum(case enum_field
when 'B' then -2
when 'N' then -1
when 'F' then 1
when 'V' then 2
end) as total_sum
from your_table
select sum(case when enum_field = 'B' then -2
when enum_field = 'N' then -1
when enum_field = 'F' then 1
when enum_field = 'V' then 2
end) as total_sum
from your_table