想要计算 MySql 中值为“1”的整个表

我有一个表feedback具有列ans1ans2ans3...,各列具有从0到2值I要计数的所有列,其中值为1

在前端,我显示 0 为差,1 为良好,2 为优秀。我想统计差评、好评和好评的总数。例如,如果表在 ans1 中有两个 0,在 ans2 中有三个 0,那么总数应该是五个 0。


Qyouu
浏览 255回答 2
2回答

肥皂起泡泡

一种选择,使用布尔表达式的总和:SELECT    SUM((ans1 = 0) + (ans2 = 0) + ... + (ansN = 0)) AS poor_count,    SUM((ans1 = 1) + (ans2 = 1) + ... + (ansN = 1)) AS good_count,    SUM((ans1 = 2) + (ans2 = 2) + ... + (ansN = 2)) AS excellent_countFROM feedback;

富国沪深

也许双循环可以解决它,$feedback = $this->db->get('feedback'); //get your data table$poor = 0; $good = 0; excel=0;foreach($feedback as $data1){    foreach($data1 as $data2){        if($data2 == 0){           $poor++;        }        if($data2 == 1){           $good++;        }        if($data2 ==2){           $excel++;        }    }
打开App,查看更多内容
随时随地看视频慕课网APP