Apabila kita menggunakan fungsi RAND() dengan klausa ORDER BY dan LIMIT dalam pertanyaan, MySQL mengembalikan set baris atau nilai yang berbeza setiap masa. Untuk memahaminya, pertimbangkan jadual "Pekerja" yang mempunyai rekod berikut -
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)
Sekarang, pertanyaan berikut akan menggunakan fungsi RAND() dan menggunakan klausa ORDER BY dan LIMIT dalam pertanyaan, Kembalikan secara rawak set nilai atau baris yang berbeza -
mysql> Select * from employee ORDER BY RAND() LIMIT 4; +----+-------+--------+ | ID | Name | Salary | +----+-------+--------+ | 5 | Ram | 20000 | | 4 | Aarav | 65000 | | 6 | Mohan | 30000 | | 8 | Vinay | NULL | +----+-------+--------+ 4 rows in set (0.00 sec) mysql> Select * from employee ORDER BY RAND() LIMIT 4; +----+--------+--------+ | ID | Name | Salary | +----+--------+--------+ | 6 | Mohan | 30000 | | 8 | Vinay | NULL | | 2 | Rahul | 20000 | | 1 | Gaurav | 50000 | +----+--------+--------+ 4 rows in set (0.03 sec) mysql> Select * from employee ORDER BY RAND() LIMIT 4; +----+-------+--------+ | ID | Name | Salary | +----+-------+--------+ | 3 | Advik | 25000 | | 8 | Vinay | NULL | | 7 | Aryan | NULL | | 5 | Ram | 20000 | +----+-------+--------+ 4 rows in set (0.00 sec)
Seperti yang anda boleh lihat daripada set hasil di atas, setiap kali anda menjalankan pertanyaan, ia mengembalikan set nilai atau baris yang berbeza secara rawak.
Atas ialah kandungan terperinci Bagaimanakah kita boleh secara rawak mendapatkan set baris atau nilai yang berbeza daripada jadual MySQL setiap kali?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!