Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

ORDER BY 절에서 RAND() 함수를 사용하여 MySQL 행 집합을 섞으려면 어떻게 해야 합니까?


RAND() 함수와 함께 MySQL ORDER BY 절을 사용하면 결과 집합에 행 집합이 섞이게 됩니다. 즉, 결과 집합은 임의의 순서가 됩니다. 이해하기 위해 다음 레코드가 있는 '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)