对 MySQL 数据进行随机化和排序
在 MySQL 中,您可以将 ORDER BY 子句与 rand() 函数结合起来,从其中检索随机记录一张桌子。但是,如果您尝试使用另一列对随机结果进一步排序,则可能会遇到意外行为。
要解决此问题,应将查询构造为子查询。内部查询使用 ORDER BY rand() LIMIT 20 检索 20 个随机用户。
<br>SELECT * FROM users ORDER BY rand() LIMIT 20<br>
生成的临时表包含随机用户,然后由外部查询引用。外部查询按名称列按升序对临时表重新排序:
<br>SELECT * FROM <br>(<pre class="brush:php;toolbar:false">SELECT * FROM users ORDER BY rand() LIMIT 20
) T1
ORDER BY name ASC
此方法可确保最终结果集由 20 个随机选择的用户组成,并按其姓名升序排列。
以上是如何在MySQL中随机选择和排序数据?的详细内容。更多信息请关注PHP中文网其他相关文章!