![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| NLspieler |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 619 Регистрация: 13.10.2008 Где: Берлин Репутация: нет Всего: 19 |
Можно ли результат запроса SELECT перемешать случайным образом на БД?
И можно ли одним запросом достать несколько случайных записей из таблицы? |
|||
|
||||
| нуп |
|
|||
|
Ботокодер ![]() ![]() Профиль Группа: Участник Сообщений: 987 Регистрация: 22.6.2009 Где: Кременчуг Репутация: нет Всего: 33 |
RANDOM() оперетор думаю поможет
|
|||
|
||||
| NLspieler |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 619 Регистрация: 13.10.2008 Где: Берлин Репутация: нет Всего: 19 |
||||
|
||||
| нуп |
|
|||
|
Ботокодер ![]() ![]() Профиль Группа: Участник Сообщений: 987 Регистрация: 22.6.2009 Где: Кременчуг Репутация: нет Всего: 33 |
|
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 9 Всего: 315 |
id - это то, о чём я думаю?
|
|||
|
||||
| нуп |
|
|||
|
Ботокодер ![]() ![]() Профиль Группа: Участник Сообщений: 987 Регистрация: 22.6.2009 Где: Кременчуг Репутация: нет Всего: 33 |
А?!
|
|||
|
||||
| SickFxck |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 16.4.2010 Репутация: нет Всего: 1 |
||||
|
||||
| NLspieler |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 619 Регистрация: 13.10.2008 Где: Берлин Репутация: нет Всего: 19 |
Придумал я наконец-то нужные запросы, благодаря посту нупа
Вот так вот можно достать $n случайных записей (или меньше, если их число меньше), которые удовлетворяют определенному условию:
т.е. сперва результат запроса перемешивается и берутся $n первых записей из этого перемешанного результата Или лучше делать по старому, с использованием php: 1. Узнать count() 2. Сгенерировать случайные уникальные числа от 0 до $count-1 включительно. 3. Сделать n-запросов:
? Это сообщение отредактировал(а) NLspieler - 26.5.2010, 09:09 |
||||
|
|||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 14 Всего: 386 |
да! А вот если пройти по ссылке SickFxck, и прочитать предыдущие посты, выяснится, что ORDER BY RAND просматривает всю таблицу, расставляя каждому элементу случайное число, по которому потом и сортирует и выбирает нужное количество записей LIMIT'ом. Это может быть неважно, если табличка небольшая, а вот для приличного размера таблиц просматривать все записи может оказаться долго. Пост по ссылке SickFxck предлагает быстое и относительно недорогое решение этой проблемы. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |