Hướng dẫn how do you generate a random number between two numbers in mysql? - làm thế nào để bạn tạo một số ngẫu nhiên giữa hai số trong mysql?

Hướng dẫn how do you generate a random number between two numbers in mysql? - làm thế nào để bạn tạo một số ngẫu nhiên giữa hai số trong mysql?


Hướng dẫn MySQL này giải thích cách sử dụng chức năng MySQL RAND với cú pháp và ví dụ.RAND function with syntax and examples.

Sự mô tả

Hàm MySQL RAND có thể được sử dụng để trả về một số ngẫu nhiên hoặc một số ngẫu nhiên trong một phạm vi.

Cú pháp

Cú pháp cho hàm RAND trong MySQL là:

RAND( [seed] )

Tham số hoặc đối số

hạt giống. Nếu được chỉ định, nó sẽ tạo ra một chuỗi các số ngẫu nhiên lặp lại mỗi khi giá trị hạt giống được cung cấp.

Ghi chú

  • Hàm Rand sẽ trả về một giá trị giữa 0 (bao gồm) và 1 (độc quyền), vì vậy giá trị> = 0 và giá trị <1.
  • Hàm Rand sẽ trả về một số hoàn toàn ngẫu nhiên nếu không có hạt giống nào được cung cấp.
  • Hàm RAND sẽ trả về một chuỗi các số ngẫu nhiên lặp lại mỗi khi một giá trị hạt cụ thể được sử dụng.

Phạm vi thập phân ngẫu nhiên

Để tạo số thập phân ngẫu nhiên giữa hai giá trị (phạm vi), bạn có thể sử dụng công thức sau:

SELECT RAND()*(b-a)+a;

Trong đó A là số nhỏ nhất và B là số lớn nhất mà bạn muốn tạo ra một số ngẫu nhiên cho.

SELECT RAND()*(25-10)+10;

Công thức trên sẽ tạo ra số thập phân ngẫu nhiên> = 10 và <25. (Lưu ý: Công thức này sẽ không bao giờ trả về giá trị 25 vì hàm ngẫu nhiên sẽ không bao giờ trả về 1.)Note: this formula will never return a value of 25 because the random function will never return 1.)

Phạm vi số nguyên ngẫu nhiên

Để tạo số nguyên ngẫu nhiên giữa hai giá trị (phạm vi bao gồm), bạn có thể sử dụng công thức sau:

SELECT FLOOR(RAND()*(b-a+1))+a;

Trong đó A là số nhỏ nhất và B là số lớn nhất mà bạn muốn tạo ra một số ngẫu nhiên cho.

SELECT FLOOR(RAND()*(25-10+1))+10;

Công thức trên sẽ tạo ra số thập phân ngẫu nhiên> = 10 và <25. (Lưu ý: Công thức này sẽ không bao giờ trả về giá trị 25 vì hàm ngẫu nhiên sẽ không bao giờ trả về 1.)

Phạm vi số nguyên ngẫu nhiên

Để tạo số nguyên ngẫu nhiên giữa hai giá trị (phạm vi bao gồm), bạn có thể sử dụng công thức sau:

  • Công thức trên sẽ tạo ra một số nguyên ngẫu nhiên trong khoảng từ 10 đến 25, bao gồm.

Áp dụng cho

Hàm Rand có thể được sử dụng trong các phiên bản sau của MySQL:

MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

mysql> SELECT RAND();
Result: 0.2430297417966926     (no seed value, so your answer will vary)

mysql> SELECT RAND(9);
Result: 0.406868412538309      (with seed value of 9)

mysql> SELECT RAND(-5);
Result: 0.9043048842850187     (with seed value of -5)

Ví dụ về số ngẫu nhiên

Hãy khám phá cách sử dụng hàm Rand trong MySQL để tạo số ngẫu nhiên> = 0 và

Ví dụ:

Mặc dù hàm RAND sẽ trả về giá trị 0, nhưng nó sẽ không bao giờ trả về giá trị là 1. Nó sẽ luôn trả về giá trị nhỏ hơn 1.Note: it will never return a value of 10):

mysql> SELECT RAND()*(10-1)+1;
Result: 3.71321560508871      (no seed value, so your answer will vary)

mysql> SELECT RAND(9)*(10-1)+1;
Result: 4.661815712844781     (with seed value of 9)

mysql> SELECT RAND(-5)*(10-1)+1;
Result: 9.138743958565168     (with seed value of -5)

Ví dụ về phạm vi thập phân ngẫu nhiên

Hãy khám phá cách sử dụng hàm RAND trong MySQL để tạo số thập phân ngẫu nhiên giữa hai số (IE: Phạm vi).

Ví dụ: sau đây sẽ tạo ra một giá trị thập phân ngẫu nhiên là> = 1 và <10 (lưu ý: nó sẽ không bao giờ trả về giá trị 10):

mysql> SELECT FLOOR(RAND()*(30-20+1))+20;
Result: 22                    (no seed value, so your answer will vary)

mysql> SELECT FLOOR(RAND(9)*(30-20+1))+20;
Result: 24                    (with seed value of 9)

mysql> SELECT FLOOR(RAND(-5)*(30-20+1))+20;
Result: 29                    (with seed value of -5)

Trên thực tế,

SELECT RAND()*(b-a)+a;
0 là cách tốt nhất trong MySQL để làm những gì bạn thích. Nó cũng là cách tốt nhất trong ActionScript, JavaScript và Python. Thành thật mà nói, tôi thích nó theo cách PHP vì nó thuận tiện hơn.

Bởi vì tôi không biết bạn sẽ quay trở lại bao nhiêu Sử dụng MySQL.

Phụ lục


Vì vậy, có một câu hỏi là liệu điều này tốt hơn trong PHP hay MySQL. Thay vì tham gia vào một cuộc tranh luận về các nguyên tắc, tôi đã chạy như sau:

MySQL nhanh hơn khoảng 2-3%.

Tuy nhiên, nếu bạn sử dụng điều này (lưu ý, nhiều cột trở lại bởi MySQL):

MySQL xuất hiện sau 3-4% (kết quả rất không nhất quán) (khoảng kết quả tương tự nếu bạn không sử dụng gán chỉ mục mảng cho $ r [2]).

Sự khác biệt chính, dường như, xuất phát từ số lượng hồ sơ trở lại PHP chứ không phải chính hệ thống ngẫu nhiên. Vì vậy, nếu bạn cần cột A, cột B và giá trị ngẫu nhiên, hãy sử dụng PHP. Nếu bạn chỉ cần giá trị ngẫu nhiên, thì hãy sử dụng MySQL.

Rand () trong mysql là gì?

Hàm Rand () trả về một số ngẫu nhiên giữa 0 (bao gồm) và 1 (độc quyền).returns a random number between 0 (inclusive) and 1 (exclusive).

Làm thế nào để bạn tạo ra một số ngẫu nhiên giữa hai số trong SQL Server?

Để tạo một số nguyên ngẫu nhiên giữa hai giá trị (phạm vi), bạn có thể sử dụng công thức sau: Chọn Tầng (Rand ()*(B-A+1))+A;Trong đó A là số nhỏ nhất và B là số lớn nhất mà bạn muốn tạo ra một số ngẫu nhiên cho.SELECT FLOOR(RAND()*(b-a+1))+a; Where a is the smallest number and b is the largest number that you want to generate a random number for.

Làm cách nào để chọn ngẫu nhiên dữ liệu trong MySQL?

MySQL không có bất kỳ câu lệnh tích hợp nào để chọn các hàng ngẫu nhiên từ bảng.Để thực hiện điều này, bạn sử dụng hàm rand ().Hãy kiểm tra truy vấn chi tiết hơn.Hàm rand () tạo ra một giá trị ngẫu nhiên cho mỗi hàng trong bảng.use the RAND() function. Let's examine the query in more detail. The function RAND() generates a random value for each row in the table.

SQL có thể tạo ra số ngẫu nhiên không?

Chức năng ngẫu nhiên trong SQL Server Nếu bạn không chỉ định giá trị hạt giống, SQL Server tạo ra một số ngẫu nhiên.Khi được chỉ định, hàm trả về cùng một chuỗi các số ngẫu nhiên trong phiên.Nếu bạn muốn nhận được một giá trị khác, bạn nên sử dụng các phiên khác nhau hoặc các giá trị hạt giống khác nhau.If you do not specify a seed value, SQL Server generates a random number. When specified, the function returns the same sequence of random numbers within the session. If you want to receive a different value, you should use either different sessions or different seed values.