рандомизировать запрос к базе данных drupal - PullRequest
1 голос
/ 16 июня 2011

Я выполняю запрос, который хочу рандомизировать результаты запроса из базы данных drupal.

вот что я сделал ...

$res=db_query("SELECT DISTINCT nid FROM content_type_event ORDER BY RANDOM()");

но этот запрос не работает. что не так с этим запросом? пожалуйста, помогите мне решить это?

Большое спасибо ...

Ответы [ 2 ]

2 голосов
/ 16 июня 2011

Возможно, вам вместо этого нужно использовать ORDER BY RAND().

Также есть кое-что, что вы можете знать о производительности ORDER BY RAND(), если вы получаете значительное количество результатов, которые будут рандомизированы.:

http://www.titov.net/2005/09/21/do-not-use-order-by-rand-or-how-to-get-random-rows-from-table/

РЕДАКТИРОВАТЬ: Только что увидел ваш комментарий, что вы используете PostgreSQL, похоже, это может быть полезно: http://www.petefreitag.com/item/466.cfm

Извините, я не могуочень помогите, я сам не использую PostgreSQL

1 голос
/ 16 июня 2011

Вы не сказали нам, какой движок базы данных используете, но, возможно, ORDER BY RAND() будет лучше.

Обновление : хорошо, PostgreSQL использует RANDOM(), а не RAND(), так что все в порядке. Я нашел этот вопрос , который, кажется, предполагает, что ORDER BY RANDOM() должен работать, и ошибка, вероятно, будет в другом месте. Может быть, это DISTINCT, что все портит; повторите запрос без DISTINCT.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...