如何在 ORDER BY 子句中使用 RAND() 函式來隨機排列 MySQL 行集?


當我們在 MySQL 中將 ORDER BY 子句與 RAND() 函式一起使用時,結果集將隨機排列行集。換句話說,結果集將是隨機的。為了理解這一點,請考慮一個名為“Employee”的表,該表具有以下記錄 -

mysql> Select * from employee;
+----+--------+--------+
| ID | Name   | Salary |
+----+--------+--------+
| 1  | Gaurav | 50000  |
| 2  | Rahul  | 20000  |
| 3  | Advik  | 25000  |
| 4  | Aarav  | 65000  |
| 5  | Ram    | 20000  |
| 6  | Mohan  | 30000  |
| 7  | Aryan  | NULL   |
| 8  | Vinay  | NULL   |
+----+--------+--------+
8 rows in set (0.00 sec)

現在,下面的查詢將使用 ORDER BT RAND() 來隨機排列結果集中的行集 -

mysql> Select * from Employee ORDER BY RAND();
+----+--------+--------+
| ID | Name   | Salary |
+----+--------+--------+
| 4  | Aarav  | 65000  |
| 1  | Gaurav | 50000  |
| 3  | Advik  | 25000  |
| 7  | Aryan  | NULL   |
| 6  | Mohan  | 30000  |
| 8  | Vinay  | NULL   |
| 5  | Ram    | 20000  |
| 2  | Rahul  | 20000  |
+----+--------+--------+
8 rows in set (0.00 sec)

更新日期: 20-6 月-2020

336 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始
廣告