当用户上传视频时,我会进行两次转换。高分辨率和低分辨率。我在上传处理脚本中使用popen()并为每次转换运行linux ffmpeg转换命令。当我以前只进行一次转换时,我只是根据popen的输出计算进度并将其放在数据库表(conversion_progress
)中,并在过程输出结果时更新它。
现在我要做的是在我的conversion_progress
表中插入两个条目并计算每个进度的差异。但是当我使用select语句时,因为两个条目都具有相同的vid_id,所以我无法区分每个进程,因为返回了两行。我不需要,我只想获得两行的平均值。有人对此有任何建议吗?
$sql = 'SELECT progress from conv_progress WHERE vid_id=?';
$stmt4 = $conn->prepare($sql);
$result=$stmt4->execute(array('123')) or die(print_r($db->errorInfo(), true));
while ($row=$stmt4->fetch(PDO::FETCH_ASSOC)){
$data['progress']=$row['progress'];
}
$out = json_encode($data);
print $out;
返回5070表示一次上传为50%,另一次为70%。我可以使用foreach或其他东西对此进行计算吗?
答案 0 :(得分:1)
你可能想让MySQL取平均值:
$sql = 'SELECT AVG(progress) AS progress from conv_progress WHERE vid_id=? GROUP BY vid_id';