随机化drupal数据库查询

时间:2011-06-16 07:24:05

标签: sql database drupal

我正在执行一个查询,我想从drupal数据库中随机化查询结果。

这就是我所做的......

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

但此查询不起作用。这个查询有什么问题?请帮帮我解决这个问题?

非常感谢...

2 个答案:

答案 0 :(得分:2)

您可能需要改为使用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 :(得分:1)

您没有告诉我们您使用的是哪个数据库引擎,但ORDER BY RAND()可能会更好。

更新:好吧,PostgreSQL使用的是RANDOM()而不是RAND(),所以没关系。我发现this question似乎表明ORDER BY RANDOM()应该有效,错误可能在其他地方。也许它是DISTINCT搞砸了事情;不用DISTINCT再次尝试查询。