2013-02-08 2 views
0

У меня есть строка в mysql, которую я хочу рандомизировать, чтобы каждый раз, когда я запускаю запрос, я получаю разные результаты.Случайные строки в mysql

Строки образца

$str = '4_127','2_84','2_85';

Итак, я передам его в пункт ORDER BY для рандомизации результатов.

SELECT `MY_SEARCH_PARAMS` FROM `mytable` WHERE `MY_WHERE_CONDTIONS` ORDER BY 
FIELD(CONCAT(property_id,"_",catalog_id), '4_127','2_84','2_85'), `id` ASC; 

Мне нужно, чтобы порядок содержимого строки менялся каждый раз.

Спасибо.

+0

Является '$ ул = '4_127', '2_84', '2_85',' фактическая строка или у вас есть строки дерева, которые являются '4_127',' '2_84' и 2_85'? –

+0

Это фактическая строка. –

+0

У вас есть значения '4_127 ',' 2_84 ',' 2_85'' в вашей таблице ??? – jcho360

ответ

1

Действительно? Это очень запутанное поведение. Чего вы пытаетесь достичь?

Тем не менее, даже если вы используете такой код, лучше всего рандомизировать их в скрипте php (я предполагаю, что вы используете php).

$str_array = array('4_127','2_84','2_85'); 
shuffle($str_array); 
$str = implode(", ",$str_array) 
+0

Смутить это, конечно. Но так меняются проекты :) Да, если ничего другого, я могу сделать это на PHP. –

+0

Почему вы хотите, чтобы MySQL обрабатывался? – Lothar

+0

Существует множество других полей/условий, которые зависят от него. –