Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2011, 20:31   #1
CodeNOT
Форумчанин
 
Аватар для CodeNOT
 
Регистрация: 08.11.2010
Сообщений: 593
По умолчанию Случайное выдергивание из базы

Добрый день, возник вопрос. как из базы средствами mysql выдернуть случайные записи. Т.е. допустим я функции передал, сколько мне нужно записей. Дак как мне выдернуть их случайно.
Код:
$query="SELECT * FROM ".$this->sql."Question_Table WHERE test_id='$test_id' ORDER BY RAND() LIMIT 0,'$numbers'";
просто реально не знаю как!

Последний раз редактировалось CodeNOT; 29.05.2011 в 21:07.
CodeNOT вне форума Ответить с цитированием
Старый 30.05.2011, 11:56   #2
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

ORDER BY RAND() - забудьте про это. Была б моя воля - вообще уничтожил бы эту конструкцию, чтоб она не работала вообще.
Слишком медленно она работает.

Самый лучший вариант выборки случайных записей из базы -
Код:
SELECT `t`.*
FROM (
    SELECT FLOOR (RAND() * (
        SELECT count(*) FROM `table`
    )) num ,@num:=@num+1 from (
        SELECT @num:=0
    ) a , `table` LIMIT 5
) b , `table` t WHERE b.num=t.`id`
, где 5 - это число строк, которое необходимо вытащить, `table` таблица откуда нужно вытащить.
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выдергивание слов из STRING kardinal94 Общие вопросы Delphi 1 30.07.2010 22:21
Случайное число. Alex Cones Свободное общение 27 06.06.2010 09:54
Случайное слово StudentMarat Помощь студентам 6 16.04.2010 15:59
случайное число Дініс Общие вопросы C/C++ 3 07.10.2009 23:03
Случайное число Altera Общие вопросы Delphi 4 05.02.2008 22:22