@mrgnv

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
27 апр. 2024, в 13:49
300000 руб./за проект
27 апр. 2024, в 13:30
30000 руб./за проект
27 апр. 2024, в 13:22
600 руб./за проект