Hướng dẫn generate random number in mysql - tạo số ngẫu nhiên trong mysql

Hướng dẫn generate random number in mysql - tạo số ngẫu nhiên 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)

Trong & nbsp; mysql, hàm

SELECT RAND()*(25-10)+10;
3 cho phép bạn tạo một số ngẫu nhiên. Cụ thể, hàm trả về giá trị dấu phẩy động ngẫu nhiên V trong phạm vi
SELECT RAND()*(25-10)+10;
4.

Bạn cũng có thể ảnh hưởng đến số ngẫu nhiên bằng cách cung cấp giá trị hạt giống như một đối số.

Cú pháp

Cú pháp diễn ra như thế này:

RAND([N])

Trong đó

SELECT RAND()*(25-10)+10;
5 là một giá trị hạt giống tùy chọn mà bạn có thể sử dụng để ảnh hưởng đến kết quả.

Ví dụ 1 - Không có đối số

Ở đây, một ví dụ cơ bản để chứng minh những gì xảy ra khi chúng tôi không cung cấp một đối số.

SELECT RAND();

Result:

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

Kết quả không phải là một hằng số - nó sẽ khác nhau mỗi khi bạn chạy nó.

Ở đây, một ví dụ về những gì xảy ra khi chúng ta chạy nhiều chức năng

SELECT RAND()*(25-10)+10;
3 cùng nhau.

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

Result:

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

Ví dụ 2 - Sử dụng giá trị hạt giống

Như đã đề cập, bạn có thể vượt qua trong một đối số để xác định giá trị hạt giống. Điều này cho phép bạn ảnh hưởng đến đầu ra của chức năng.

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

Result:

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

Trong trường hợp này, hàm sẽ trả về cùng một giá trị mỗi lần nếu giá trị đối số bằng nhau được cung cấp.

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

Result:

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

Ví dụ 3 - Sử dụng rand () như một phần của biểu thức

Bạn có thể sử dụng hàm

SELECT RAND()*(25-10)+10;
3 như một phần của biểu thức.

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

Result:

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

Ví dụ 4 - Trả về một số nguyên ngẫu nhiên giữa hai số

Bạn có thể kết hợp hàm

SELECT RAND()*(25-10)+10;
3 với hàm
SELECT RAND()*(25-10)+10;
9 để trả về một số nguyên ngẫu nhiên giữa hai số.

Đây là cách tạo ra một số nguyên từ 5 đến 10 (bao gồm).

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

Result:

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

Hãy để chạy cùng một mã giống nhau nhiều lần để xem kết quả khác nhau.

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

Result:

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

Làm thế nào chúng ta có thể nhận được một số ngẫu nhiên từ 1 đến 100 trong MySQL?

Để có được giá trị ngẫu nhiên giữa hai giá trị, hãy sử dụng phương thức mysql rand () với sàn (). Cú pháp như sau. Chọn tầng (rand () * (MaximumValue-MinimumValue) + MinimumValue) như bất kỳVariaBlename; Hãy để chúng tôi kiểm tra với một số giá trị tối đa và tối thiểu.use MySQL rand() method with floor(). The syntax is as follows. select FLOOR( RAND() * (maximumValue-minimumValue) + minimumValue) as anyVariableName; Let us check with some maximum and minimum value.

Làm thế nào để bạn tạo ra các số duy nhất ngẫu nhiên trong MySQL?

Phạm vi số nguyên ngẫu nhiên Chọn sàn (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.Chọn tầng (rand ()*(25-10+1))+10;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.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. SELECT FLOOR(RAND()*(25-10+1))+10; The formula above would generate a random integer number between 10 and 25, inclusive.

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.

Rand () có thực sự ngẫu nhiên không?

Tuy nhiên, các số được tạo bởi rand () không phải là ngẫu nhiên vì nó tạo ra cùng một chuỗi mỗi lần mã được thực thi.not random because it generates the same sequence each time the code executed.