2017-04-27 61 views
0

我想要计算满足某些条件的行数,并将其计算为总行数的百分比(在此情况下计算所有id的数量)。计算标准为true的总行数的百分比

事情是这样的:

((select count(error_flag) from MY_TABLE where error_flag == "TRUE"/count(id) from MY_TABLE) * 100) as "% ERROR" 

回答

2

请尝试以下方法:

CREATE TABLE errorTest (`error_flag` ENUM('TRUE','FALSE')); 

INSERT INTO errorTest VALUES ('FALSE'), ('TRUE'), ('TRUE'); 

SELECT SUM(IF(error_flag = "TRUE", 1, 0))/COUNT(*) `% ERROR` FROM errorTest; 

问候,

詹姆斯

+0

完美,谢谢你,詹姆斯。 –