我有以下 MySql 语句,我无法在我的 while 循环中获得“排名”的累积总数
SELECT *,
q1 + ((q1 + q2 + q3 + q4 + q5 + q6) / 6)
AS ranking
/ SUM(ranking)
FROM table
WHERE field = :field
GROUP by id
我的查询的这部分工作完美:
q1 + ((q1 + q2 + q3 + q4 + q5 + q6) / 6)
AS ranking
我需要将“AS 排名”值除以查询输出中每个“排名”行的总和,并将其返回到我的 while 循环中的 $rankingPercentage 变量中。
q1
q2
q3
q4
q5
q6
是一个表中的所有字段,包含 0 到 100 之间的数值 (VARCHAR)。
我希望返回 $rankingPercentage 的输出,即“排名”(我在“AS 排名”上方的方程式)除以 SQL 查询中返回的所有“排名”行的总和。
我的 While 循环如下:
while($row = $sqlprep->fetch(PDO::FETCH_OBJ)){
$ranking = $row->ranking;
echo '<tr valign="bottom"><td>' . $row->id . '</td>';
echo '<td>' . $row->uid . '</td>';
echo '<td>' . $row->q1 . '</td>';
echo '<td>' . $row->q2 . '</td>';
echo '<td>' . $row->q3 . '</td>';
echo '<td>' . $row->q4 . '</td>';
echo '<td>' . $row->q5 . '</td>';
echo '<td>' . $row->q6 . '</td>';
echo '<td>' . $row->q9 . '</td>';
echo '<td class="capitalise">' . $ranking. '</td>';
echo '<td class="capitalise">' . $rankingPercentage . '</td>';
echo '</tr>';
}