Avg в sql добавляет нули после числа

0

когда я использую 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;
}
  • 0
    TRUNCATE(your calculation here,1) это не будет округляться, т.е. 2.76 -> 2.7.Если вы хотите округлить, то используйте ROUND(your calculation here,1) т.е. 2,76 -> 2,8
  • 0
    где я должен добавить это точно
Показать ещё 4 комментария
Теги:

2 ответа

0
Лучший ответ

Это как это работает

$ratesavg =  "SELECT round(AVG(vote_num), 1) AS myAvg FROM post_votes WHERE post_id=$post_id GROUP BY post_id";
0

Вы можете отформатировать номер в виде строки или преобразовать ее в десятичную/цифровую:

select cast(avg(x) as numeric(4, 1))
  • 0
    я редактировал вопрос

Ещё вопросы

Сообщество Overcoder
Наверх
Меню