對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中文網其他相關文章!