Bạn có thể sử dụng elt () cùng với rand () cho việc này. Hãy để chúng tôi chọn số ngẫu nhiên từ một danh sách cụ thể.
mysql> SELECT ELT(FLOOR(RAND() * 10) + 1, 100,200,300,400,500,600,700,800,900,1000) AS random_value_from_listOfValues;
Điều này sẽ tạo ra kết quả sau -
+--------------------------------+ | random_value_from_listOfValues | +--------------------------------+ | 1000 | +--------------------------------+ 1 row in set (0.00 sec)
Bây giờ chúng tôi sẽ chạy lại truy vấn để chọn số ngẫu nhiên từ một danh sách cụ thể.
mysql> SELECT ELT(FLOOR(RAND() * 10) + 1, 100,200,300,400,500,600,700,800,900,1000) AS random_value_from_listOfValues;
Điều này sẽ tạo ra kết quả sau. Điều này sẽ khác với kết quả ở trên vì chúng tôi đang hiển thị các số ngẫu nhiên -
+--------------------------------+ | random_value_from_listOfValues | +--------------------------------+ | 400 | +--------------------------------+ 1 row in set (0.00 sec)