使用mysql和PHP

时间:2016-10-03 08:35:46

标签: php mysql random

我使用PHP和Mysql。我有一张看起来像这样的桌子:

id   title
----------
1    my title
2    another title
3    The last title

现在我想用随机的顺序选择它们。

  • 由于查询大小,我需要使用LIMIT。
  • 每次随机顺序应该始终是相同的随机顺序。

示例结果,每次

3   The last title
1   my title
2   another title

执行另一个查询:

3   The last title
1   my title
2   another title

出现相同的随机结果。

可能的解决方案

  • 添加一个真实的随机数,存储为insert。生成的新列。
  • 一些奇特的SELECT查询,它做了一些魔术。
  • 别的什么?

为什么我要这是因为我首先从一个网站插入产品,然后从另一个网站插入产品。在结果中,我想将它们作为混合物呈现。

2 个答案:

答案 0 :(得分:3)

它根本不是随机的,但是你的请求再也不能使用随机数。您想要按顺序使用每种记录的某种哈希值。您可以找到更好的东西,但作为一个简单的例子,您可以使用:

SELECT * FROM my_table ORDER BY MOD(id, 2);

你可以看到在这里工作:
http://sqlfiddle.com/#!9/269a4/1/0

答案 1 :(得分:-6)

使用ORDER BY RAND()。所以您的查询应该是:

 select * from <tablename> where <cond> then ORDER BY RAND() limit <startlimit>, <end limit>