@mrgnv

Как рандомно обновить поле position в Mysql с учетом промежутка?

Есть таблица records
id | name | position
357|Первый|357
358|Второй|358
359|Третий|359
360|Еще|360

При выводе таблицы на сайте сортируется по полю position (order by position).

Вопрос: как РАНДОМНО обновить все позиции от min(357) до max(360), ну т.е. в этом промежутке.
Т.е как-то найти минимальную позици и максимальную, и с учётом этих данных обновить все в рандоме в этом промежутке.
  • Вопрос задан
  • 51 просмотр
Пригласить эксперта
Ответы на вопрос 1
iMedved2009
@iMedved2009
Не люблю людей
update records set position = (select floor(rand()*(max(position) - min(position))+min(position)) from (select * from records) as t);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы