mysql单表复杂查询

来源:互联网 发布:crash撞车影评知乎 编辑:程序博客网 时间:2024/05/19 03:47
/** * 整个考试所有小题的正确率 * @param $exam_id * @param null $begin * @param null $end * @return mixed */public function questionRightRateInExam($exam_id,$begin = null,$end = null){    $time_sql = $this->convertTimeSql($begin,$end);    $data = $this->exam_record->field(' question_id,ROUND(avg(case isright when '.self::ANSWER_NOT_ANSWER.' then null else score end),2) as avg_score,sum(case isright when '.self::ANSWER_RIGHT.' then 1 else 0 end) as right_num,sum(case isright when '.self::ANSWER_WRONG.' then 1 else 0 end) as wrong_num,sum(case isright when '.self::ANSWER_NOT_ANSWER.' then 1 else 0 end) as not_answer_num ')->where(' exam_id ='.$exam_id.' AND '.$time_sql)->group(' question_id ')->order(' question_id ')->select();    $count = count($data);    for($i = 0;$i<$count;$i++){        $data[$i] = $this->convertRightNum($data[$i]);    }    return $data;}
0 0