【发布时间】:2019-10-06 04:39:45
【问题描述】:
quiz_record 表:
我需要计数所有具有marks 小于 Student_Id['4'] 的marks 的行。
也,如果其他人的标记与Student_Id['4']的标记相差相同,那么也计算所有time gap (Quiz_End - Quiz_Start)大于的人Student_Id['4']中的time gap (Quiz_End - Quiz_Start)。
预期结果:2
为此我尝试过:
$time_taken = strtotime($fetch_quiz_record['Quiz_End']) - strtotime($fetch_quiz_record['Quiz_Start']);
$count_less_played = $user->runQuery("SELECT COUNT(Id) AS Id FROM quiz_record WHERE Quiz_Id=:quiz_id AND Marks<=:marks AND (Quiz_End - Quiz_Start) >:time_diff");
$count_less_played->bindparam(":quiz_id",$fetch_quiz_record['Quiz_Id']);
$count_less_played->bindparam(":marks",$fetch_quiz_record['Marks']);
$count_less_played->bindparam(":time_diff",$time_taken);
$count_less_played->execute();
$count_less_played_cnt = $count_less_played->fetch(PDO::FETCH_ASSOC);
echo $count_less_played_no= $count_less_played_cnt['Id'];
输出:4
【问题讨论】:
标签: php mysql mysqli pdo count