【发布时间】:2014-03-19 18:19:43
【问题描述】:
我有一个表,其中包含一个 ENUM 字段,其值为“B”、“N”、“F”和“V”。我想为这些字母中的每一个分配一个权重:
B: -2
N: -1
F: 1
V: 2
这些权重应该出现在 select 语句的列中。最后,我想将这些值加在一起。这可能吗?
目标是在 django 中执行此操作,但使用 MySQL 也可以。
【问题讨论】:
标签: mysql django django-models enums
我有一个表,其中包含一个 ENUM 字段,其值为“B”、“N”、“F”和“V”。我想为这些字母中的每一个分配一个权重:
B: -2
N: -1
F: 1
V: 2
这些权重应该出现在 select 语句的列中。最后,我想将这些值加在一起。这可能吗?
目标是在 django 中执行此操作,但使用 MySQL 也可以。
【问题讨论】:
标签: mysql django django-models enums
使用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
【讨论】: