Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何在SQL中按记录进行伪随机排序?_Mysql_Sql - Fatal编程技术网

Mysql 如何在SQL中按记录进行伪随机排序?

Mysql 如何在SQL中按记录进行伪随机排序?,mysql,sql,Mysql,Sql,我在考虑MySQL中的按条件排序,它会对每天不同的记录进行伪随机排序。这意味着它将在公式中包含今天的日期。结果就是随机排序的记录,每天都在变化 我希望你能理解我的解释,尽管问吧 谢谢你的建议。在月日前订购(现在())可能吗 每天它都会以不同的方式对结果进行排序 orderbyrand()将在每次运行查询时对结果进行不同的排序 (id of the row times) ^ the day number mod n 其中n接近预期的结果数。。。这每天都会改变,看起来是伪随机的,

我在考虑MySQL中的按条件排序,它会对每天不同的记录进行伪随机排序。这意味着它将在公式中包含今天的日期。结果就是随机排序的记录,每天都在变化

我希望你能理解我的解释,尽管问吧

谢谢你的建议。

在月日前订购(现在())
可能吗

每天它都会以不同的方式对结果进行排序

orderbyrand()
将在每次运行查询时对结果进行不同的排序

(id of the row times) ^ the day number     mod      n

其中n接近预期的结果数。。。这每天都会改变,看起来是伪随机的,并且在同一天的两次运行之间不会改变。但是,你应该注意如何选择n,这样很多数字就不会出现相同的结果(尽量使其为素数)

你的意思是像
orderbyrand()
这样它们每天都需要改变,但不是在同一天的两次运行之间,对吗?所以ORDER BY RAND()不起作用,因为每次运行时都会发生变化。我不确定,但我认为这可能会起作用(在postgres中是这样的…)
ORDER BY(选择您今天生成的值)
创建一个列RowNumber,该列RowNumber将是一个随机数,并在夜间更新它。。。然后你就可以点菜了。搜索MySQL无重复组合。不会是随机的。。。即使日期发生变化,数据的顺序也会相同。不能使用
order BY RAND()
我需要smth,如
LIMIT DAYOFMONTH(NOW()*5),12
,这意味着它不是完全随机的,而是整天都一样。但这不起作用。如我所说,试着在每月的第二天(现在())之前订购。按兰德订购并不能很好地解决您的需求问题is DAYOFMONTH(NOW())对每一行都是一样的嗯,我发现它每天的订单都是一样的。所以它不起作用