{% else-1 %}
Обновить | Подписаться | Поднять тему
Чтобы выполнить действие авторизируйтесь или пройдите регистрацию на сайте.
1.
Mr_php * 0.21
[автор] (20 авг 2015, 15:52) [0/0] [0] [отв] [спам] [под] +1 | -1

Ку, подскажите как сделать случайный вывод статей из бд. весь гугл перерыл не чиго ненашол а что нашол я не доганяю


Изм. 1 раз. / Посл. изм.
Mr_php * 0.21
(20 авг 2015, 15:54)
2. (20 авг 2015, 15:54) [1/1] [0] [отв] [спам] [под] +1 | -1

ORDER BY rand() LIMIT 1

3.
Amstor * 30.37
(20 авг 2015, 15:58) [0/0] [0] [отв] [спам] [под] +1 | -1

Mr_php, плохо в гугле искал знач

4.
Mr_php * 0.21
[автор] (20 авг 2015, 16:00) [0/0] [0] [отв] [спам] [под] +1 | -1

SmiLe*, а по подробнее можно?

5.
Mobiaaa * Верифицирован 2.73
(20 авг 2015, 16:26) [2/0] [2] [отв] [спам] [под] +1 | -1

SmiLe*, плохая идея, которая, в большинстве случаев создаёт временную таблицу на диске.
На таблицах с десятками тысяч записей order by rand работает до секунды уже.
join поможет (при условии, что id в таблице - это primary key)
SELECT * FROM ( SELECT round(RAND()*( SELECT MAX(id) FROM `table`)) as `id` FROM (SELECT `id` FROM `table` as `tmp` LIMIT 200) as `tmp` order by rand() ) AS `ids` JOIN `table` ON `table`.`id` = `ids`.`id` LIMIT 1

6.
Gallardo * [мошенник] 9.95
(20 авг 2015, 16:37) [1/0] [1] [отв] [спам] [под] +1 | -1

Я б растрелял того,кто придумал ORDER BY RAND() *

7.
Vol"jin * 5.23
(20 авг 2015, 16:43) [1/1] [0] [отв] [спам] [под] +1 | -1

Select * from `table` order by rand() limit 1

8.
Hatsune Miku * [мошенник] 22.23
(20 авг 2015, 16:45) [1/2] [-1] [отв] [спам] [под] +1 | -1

Пост 5. Есть ещё вариант с хранимой процедурой...
Добавлено 20.08.15 в 17:06:52:
2 и 7 пост обиженки *
Добавлено 20.08.15 в 17:07:26:
нехер писать гавно. И не будут минусы. а вот вы необоснованно минусанули


Изм. 1 раз. / Посл. изм.
Hatsune Miku * [мошенник] 22.23
(20 авг 2015, 16:46)
  • 1 из 1
Чтобы писать сообщения авторизируйтесь или пройдите регистрацию на сайте.
Подписаны: 0
Скачать тему | Файлы темы | Фильтр сообщений