以随机顺序显示记录

时间:2012-09-16 16:22:55

标签: php html sql

我想找出一种方法来选择表格中的所有记录并以随机顺序显示它们。

我在此查询中听到过很多关于RAND()的信息

$sql = mysql_query("SELECT * FROM table ORDER BY RAND()");

但据我所知,这只是选择随机数量的记录,如20。

如何选择所有记录,只是以随机顺序显示它们?

由于

4 个答案:

答案 0 :(得分:1)

最好选择所有条目并将随机显示留给php。整个ORDER BY RAND()需要很多的资源。 ORDER BY RAND()操作实际上会重新查询表的每一行,分配一个随机数ID,然后传递结果。

$sql = mysql_query("SELECT * FROM table ORDER BY RAND() LIMIT 1");
  

但据我所知,这只是选择随机数量的记录,如20。

错误:这将选择所有记录,然后“随机”重新排列它们并为您提供第一行:LIMIT 1,只需将其保留。

$sql = mysql_query("SELECT * FROM table ORDER BY RAND()");

答案 1 :(得分:1)

我对你的问题不太清楚,你可以通过以下查询以随机顺序获得所有记录:

SELECT * FROM table ORDER BY RAND()

上面的查询为表的每一行生成一个随机值,根据这些随机值对该表进行排序,并根据排序的行返回。因此,您将拥有随机顺序的所有记录。

答案 2 :(得分:0)

就是这样:

SELECT * FROM table ORDER BY RAND()

通过删除LIMIT 1,您可以获得随机排序的所有记录......

答案 3 :(得分:0)

将结果放入数组中,然后只需shuffle()

摆脱mysql_*功能,女孩不再喜欢它们了。