Написать письмо   
 
logo
 
Snippy
Сборник
примеров кода
Для выборки случайного ряда из таблицы можно воспользоваться запросом: SELECT * FROM table ORDER BY RAND() LIMIT 1; Однако для лучшей производительности при большом количестве рядов и наличии первичного индекса по полю id который идет БЕЗ ПРОПУСКОВ, в целях оптимизации производительности лучше воспользоваться двумя выборками с генерацией случайного числа на стороне PHP скрипта:


xengine [Добавлено 21.01.2009 05:02:24]
ну а если между 1 id и максимальным нет какого то номера? )) Что тогда?
нужно проверку перед выборкой добавить..

Karmadon [Добавлено 08.02.2009 11:40:41]
Я думаю достаточно заменить where clause с
WHERE id = '.$random_id
на
WHERE id =< '.$random_id

Я [Добавлено 10.02.2009 22:34:19]
только не "=<", а ">=" :))

Админ bankoboev.ru [Добавлено 11.06.2010 01:43:19]
все намного легче, чем кажется:

SELECT * FROM table order by rand() limit 0,$col;

$col - сколько необходимо рядов. для одного случайного ряда ставим 1.

botiiii [Добавлено 09.05.2012 11:41:01]
Здравствуйте, я не знаком с базой данных мне нужно вывести например в 50 новостях определенный текст, нужного раздела как это сделать? Спасибо!

Александр [Добавлено 15.05.2012 12:00:21]
Вот еще одна похожая статья на эту тему: http://plutov.by/post/order_by_rand_performance



Ваше имя
Ваш E-mail
(если хотите отслеживать комментарии)
Дoкажи, что ты не робот
Текст комментария