使用MySQL获取随机输出

时间:2015-03-18 08:16:00

标签: php mysql random

我有一个包含超过100,000个值的数据库。结构如下所示:

  

id | countryid | webid | categoryid |标题| dateaddedon

如果我使用基本的RAND(),考虑到有太多的ID,它将无法返回随机结果。我最终看到彼此相邻的同一个webid的标题。我宁愿要显示来自不同网站的标题。因此,我认为因为只有4-5个不同的webid值,所以基于此可能是一个更好的随机化输出选项。我无法弄清楚在使用mysql SELECT命令时如何定义应该随机化哪些特定列值。

我目前正在使用以下

SELECT * FROM table WHERE countryid='1' ORDER BY dateaddedon DESC, RAND(3)

我目前正在使用3作为种子值。我不确定种子价值对兰德有什么样的影响。如果有人能解释一下,我将非常感激。

1 个答案:

答案 0 :(得分:0)

如果指定了种子值,则会生成可重复的列值序列。除非您需要可重复的值,否则请将其删除。另外,如果您将RAND()作为ORDER中的第一个子句。

SELECT * FROM table WHERE countryid='1' ORDER BY RAND(),dateaddedon DESC