когда я использую AVG в sql, он получает 2.7500, но я хочу, чтобы он получил первые 2 числа 2.7/5 в среднем рейтинге
$ratesavg = "SELECT AVG(round(vote_num,1)) AS myAvg FROM post_votes WHERE post_id=$post_id GROUP BY post_id";
$avgrows = mysqli_query($conn, $ratesavg);
while($row = mysqli_fetch_assoc($avgrows)) {
print_r($row);
$a = $row['myAvg'];
echo $a;
}
Это как это работает
$ratesavg = "SELECT round(AVG(vote_num), 1) AS myAvg FROM post_votes WHERE post_id=$post_id GROUP BY post_id";
Вы можете отформатировать номер в виде строки или преобразовать ее в десятичную/цифровую:
select cast(avg(x) as numeric(4, 1))
TRUNCATE(your calculation here,1)
это не будет округляться, т.е. 2.76 -> 2.7.Если вы хотите округлить, то используйтеROUND(your calculation here,1)
т.е. 2,76 -> 2,8