Обновите столбцы MySQL случайными значениями между 2 заданными (с десятичными дробями)

#mysql

#mysql

Вопрос:

Я пытаюсь обновить столбец ratingValue в MySQL со случайным числом от 3.8 до 5.0.

Тип столбца в Mysql задается как десятичный (2,1), и код, который я пробовал (со многими изменениями, но безуспешно), является:

 $min = 3.8;
$max = 5.0;
$query = "UPDATE users SET ratingValue=FLOOR($min (RAND()*($max-$min 0.1)));";
$result = $baza->query($query);
 

Но он никогда не обновляет какое-либо значение после десятичной дроби, просто округляет до полного значения (т.Е. 4.0 или 5.0).

Я был бы признателен за любую помощь.

Комментарии:

1. Если вам нужны числа с плавающей запятой, зачем вы FLOOR тогда используете?

Ответ №1:

Это должно дать вам случайное число от 3,8 до 5,0 на одну позицию.

ROUND (FLOOR (13 * RAND()) / 10, 1) 3.8

Сначала он получает случайное число от 0 до 12, затем делит на 10, а затем добавляет его к 3.8.

Ответ №2:

Функция RAND в MySQL создаст желаемое значение:

http://dev.mysql.com/doc/refman/5.0/en/mathematical-functions.html#function_rand