【发布时间】:2009-06-15 20:45:31
【问题描述】:
这是我在更大的连接查询上尝试做的事情的简化查询。它仍然在这个小范围内突破。我正在尝试为在 1-60 范围内拉回的每一行生成一个随机数。然后我想按这个随机数对返回的行进行排序。
SELECT downloads . * ,
(FLOOR( 1 + ( RAND( ) *60 ) )) AS randomtimer
FROM downloads
ORDER BY randomtimer
LIMIT 25
我有 2 个数据库尝试过此查询。一个现场的和一个开发的。我将两者并排比较,它们在结构上是相同的。它在 dev one 上正常工作。返回由随机计时器排序的行。
实时表在 randomtimer 列中返回全 1。如果我通过 randomtimer ASC 订购,它们将全部变为 60 年代。如果我从 Order By Clause 中删除 randomtimer,它会返回正确的单个值。所以有些东西正在调整 ORDER BY 语句中的值。
有人对此有任何想法吗?我可能会忽略一些东西吗?怎么回事?什么鬼?
【问题讨论】:
-
你为什么要随机排序?