Forum Webscript.Ru

Общие => Базы данных => Тема начата: Vetroff от 13 Сентября 2002, 13:14:35

Название: Random
Отправлено: Vetroff от 13 Сентября 2002, 13:14:35
Как выбрать случайную строку в mysql? подскажите плз
Название: Random
Отправлено: AlieN от 13 Сентября 2002, 14:36:16
Vetroff
самый простой:

select * from table order by RAND() limit 1;

Вариант по сложнее:

$num=mt_rand(1, mysql_result(mysql_query("SELECT MAX(id) FROM table"), 0));
$text_anek=mysql_result(mysql_query("SELECT * FROM table limit $num,1"), 0);
Название: Random
Отправлено: Vetroff от 13 Сентября 2002, 14:43:41
AlieN
если  первы сработает, то он единственно правильный, id ведь с автоинкрементом, а вдруг какой-то элемент будет  удален
Название: Random
Отправлено: Vetroff от 13 Сентября 2002, 14:55:21
Ура, он работает
Спасибо
Название: Random
Отправлено: AlieN от 13 Сентября 2002, 16:27:30
Vetroff
логично :)

$num=mt_rand(1, mysql_result(mysql_query("SELECT COUNT(*) FROM table"), 0));
$text_anek=mysql_result(mysql_query("SELECT * FROM table limit $num,1"), 0);
Название: Random
Отправлено: Alexandr от 14 Сентября 2002, 09:46:07
Vetroff почитай здесь поподробнее
http://forums.webscript.ru/showthread.php?s=&threadid=7740