Computer >> Máy Tính >  >> Lập trình >> MySQL

Nhận một giá trị ngẫu nhiên giữa hai giá trị trong MySQL?

Để nhận giá trị ngẫu nhiên giữa hai giá trị, hãy sử dụng phương thức MySQL rand () với floor (). Cú pháp như sau.

select FLOOR( RAND() * (maximumValue-minimumValue) + minimumValue) as anyVariableName;

Hãy để chúng tôi kiểm tra với một số giá trị tối đa và tối thiểu. Giá trị lớn nhất mà chúng tôi đang xem xét là 200 và nhỏ nhất là 100. Số ngẫu nhiên sẽ nằm trong khoảng từ 100 đến 200, bao gồm cả chính 100 và 200.

Truy vấn như sau.

mysql> select FLOOR( RAND() * (200-100) + 100) as RandomValue;

Sau đây là kết quả.

+-------------+
| RandomValue |
+-------------+
| 144         |
+-------------+
1 row in set (0.00 sec)

Bây giờ, nếu chúng ta chạy lại cùng một truy vấn, kết quả đầu ra sẽ khác.

mysql> select FLOOR( RAND() * (200-100) + 100) as RandomValue;

Sau đây là kết quả có giá trị khác vì đây là các giá trị ngẫu nhiên giữa một dải ô mà chúng tôi đã đặt ở trên.

+-------------+
| RandomValue |
+-------------+
| 184         |
+-------------+
1 row in set (0.00 sec)