gpt4 book ai didi

mysql - 为什么 MySQL Rand() 讨厌我?

转载 作者:行者123 更新时间:2023-11-29 01:07:38 25 4
gpt4 key购买 nike

这是我尝试对较大的连接查询执行的操作的简化查询。它仍然在这个小规模上突破。我正在尝试为在 1-60 范围内拉回的每一行生成一个随机数。然后我想按这个随机数对返回的行进行排序。

 SELECT downloads . * , 
(FLOOR( 1 + ( RAND( ) *60 ) )) AS randomtimer
FROM downloads
ORDER BY randomtimer
LIMIT 25

我在 2 个数据库上尝试过此查询。一个活的和一个开发的。我并排比较了两者,它们在结构上都是相同的。它在开发者上正常工作。返回随机计时器排序的行。

实时表在 randomtimer 列中返回全 1。如果我按 randomtimer ASC 订购,它们都会变成 60 年代。如果我从 Order By 子句中删除 randomtimer,它会返回正确的单个值。所以有些东西正在调整 ORDER BY 语句上的值。

有人对此有任何想法吗?我可能会忽略某些东西吗?什么鬼?什么鬼?

最佳答案

除了什么先生。未知已经说过,还有另一个问题。

您要生成 1 到 60 之间的随机数,然后选择前 25 行。如果有足够多的行(统计上)最终会得到超过 25 行且随机值为 1,那么前 25 行当然在“randomtimer”列中的值都为 1。

所以这很可能是因为生产服务器上的数据比开发服务器上的数据多得多。

关于mysql - 为什么 MySQL Rand() 讨厌我?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/998285/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com