如何计算表MYSQL的枚举?

时间:2016-08-18 09:07:57

标签: mysql enums

我有一张表studentexamrecord

Name|Module1|Module2|Module3|Total
A-------RT-----PASS---PASS 
B-------RC-----RC------RT
C-------RT-----PASS----RC

我想计算总列中包含RT和RC的列总数。

我该怎么办?

2 个答案:

答案 0 :(得分:0)

此查询返回包含module1 = RC的记录中的总计总和,将其编辑为您的条件:

Select  
    sum(if(module1 = RT, total, 0)) 
from 
    studentexamrecord;

答案 1 :(得分:0)

请试一试:

SELECT 
Name,
Module1,
Module2,
Module3,
(
(Module1 = 'RT' OR Module1 = 'RC')+
(Module2 = 'RT' OR Module2 = 'RC')+
(Module3 = 'RT' OR Module3 = 'RC')
) AS Total
FROM your_table

注意: MySQL布尔表达式解析为0/1。假设Module1RCRT,则以下表达式返回1

(Module1 = 'RT' OR Module1 = 'RC') returns 1

否则返回零(0