我正在使用 UNION 将 3 个查询组合成一个结果。对于其中一个查询,我想随机化它们在“主表”中的位置,而其他 2 个查询不进行随机化。有点像在一组产品中随机放置广告。我可以使用 PHP 轻松完成此操作,但我想知道是否有一种简单的 MySQL 方法。
这样的事情可能吗?
最佳答案
这可能是困难的方法,但您可以将“随机数”列添加到您想要随机化的表中,并使用 RAND()
填充它 - 然后您可以通过以下方式对该表进行排序:该栏。
您甚至可以说 SELECT *, RAND() AS sortorder FROM mytable ORDER BY sortorder ASC
但说实话,我不确定这是否有效,而且我没有我当前工作站上的 MySQL 服务器来尝试一下:)
关于php - 使用 UNION 对表中的特定结果进行随机化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11161947/