php - 使用 UNION 对表中的特定结果进行随机化

标签 php mysql

我正在使用 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/

相关文章:

php - 如何将 Prefinery 的用户名/密码整合到我的网站?

php - 更好地在表单提交按钮上使用jquery?

php - Codeigniter 查询无法获取错误 500

php - 使用php mysql插入后如何获取列值?

javascript - 设置后缩略图 wp-ajax 返回 0

php - 值得在我的服务器上运行 memcache 吗?

mysql left join order by null values 到最后

mysql - 如何获取自本月初以来添加的记录数

mysql - 如何在 MySql 中检查数据字典的大小

java - 我在 mysql 数据库中的表具有 utf-8 排序规则,但我仍然无法导入一些具有拉丁字符的名称