SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 02.07.2013 18:59:23

Laik
Участник
Зарегистрирован: 02.07.2013
Сообщений: 2

Случайно перемешать значения строк в столбце

Всем доброго времени суток, помогите пожалуйста составить запрос для перемешивания значений столбца таблицы

EL__CODED
1____A
2____B
3____C
4____D
5____E

так, чтобы после его выполнения получилось

EL__CODED
1____E
2____D
3____B
4____A
5____C

Большое спасибо всем откликнувшимся.

Неактивен

 

#2 02.07.2013 19:52:50

Laik
Участник
Зарегистрирован: 02.07.2013
Сообщений: 2

Re: Случайно перемешать значения строк в столбце

Похоже, что работает
UPDATE table SET CODED = (SELECT CODED FROM table2 ORDER BY RAND() LIMIT 1);
где table2 - копия исходной таблицы, 10000 строк выполняет за пару минут.

Прошу прокомментировать данный запрос.

Неактивен

 

#3 03.07.2013 00:13:20

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Случайно перемешать значения строк в столбце

Прокомментировать - повторы могут быть при том запросе, который Вы используете.
Точно Вам поможет такая метода:
CREATE TABLE new_table SELECT * FROM old_table ORDER BY RAND();
Далее удаляется старая таблица, а новая переименовывается в старую.

Если скорость устраивает - используйте такой механизм. Если нет - изучите внимательно http://sqlinfo.ru/forum/viewtopic.php?pid=11355#p11355 и используйте ту идею.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson