La función RAND() en MySQL se usa para devolver un valor de punto flotante aleatorio V en el rango 0 <= V < 1.0 . Si queremos obtener un entero aleatorio R en el rango i <= R < j , tenemos que usar la expresión
FLOOR(i + RAND() * (j − i)) .
Sintaxis:
RAND(N)
Parámetro: este método acepta solo un parámetro.
N : si se especifica N, devuelve una secuencia repetible de números aleatorios. Si no se especifica N, devuelve un número completamente aleatorio. Es opcional y funciona como un valor inicial.
Devoluciones: Devuelve un número flotante aleatorio entre 0 y 1.
Ejemplo-1:
Obtención de un valor aleatorio entre 0 y 1 usando la función RAND.
SELECT RAND() AS Random_Number;
Producción :
Número aleatorio |
---|
0.6332025068189973 |
Ejemplo-2:
Obtención de un valor aleatorio entre 0 y 1 usando la función RAND con valor inicial.
SELECT RAND(), RAND(5), RAND(5);
Producción :
ALEATORIO() | ALEATORIO(5) | ALEATORIO(5) |
---|---|---|
0.9580191140603452 | 0.40613597483014313 | 0.40613597483014313 |
Entonces, aquí podemos ver que, si usamos el mismo valor inicial para generar el número aleatorio, obtendremos como resultado el mismo número aleatorio.
Ejemplo-3:
Obtención de un valor aleatorio entre el rango [5, 10] usando la función ALEATORIO. Aquí, usaremos la expresión: FLOOR(i + RAND() * (j − i)) para generar el número aleatorio. Aquí, yo tendré 5 años y j tendré 10 años.
SELECT FLOOR(5 + RAND()*(10-5)) AS Random_Number;
Producción :
Número aleatorio |
---|
6 |
Ejemplo-4:
Obtención de un valor aleatorio entre el rango [5, 10] usando la función ALEATORIO. Aquí, usaremos la expresión: FLOOR(i + RAND() * (j − i + 1)) para generar el número aleatorio. Aquí yo tendré 5 y j tendré 10.
SELECT FLOOR(5 + RAND()*(10 - 5 + 1)) AS Random_Number;
Producción :
Número aleatorio |
---|
10 |
Ejemplo-5:
uso de la función RAND para devolver filas de una tabla de categorías en orden aleatorio. Para demostrarlo, cree una tabla llamada Student .
CREATE TABLE Student( Student_id INT AUTO_INCREMENT, Student_name VARCHAR(100) NOT NULL, Student_Class VARCHAR(20) NOT NULL, TotalExamGiven INT NOT NULL, PRIMARY KEY(Student_id ) );
Ahora insertando algunos datos en la tabla Student –
INSERT INTO Student(Student_name, Student_Class, TotalExamGiven) VALUES ('Sayan', 'IX', 8), ('Nitin', 'X', 5), ('Aniket', 'XI', 6), ('Abdur', 'X', 7), ('Riya', 'IX', 4), ('Jony', 'X', 10), ('Deepak', 'X', 7), ('Ankana', 'XII', 5), ('Shreya', 'X', 8);
Para obtener todos los detalles sobre Student Table, usaremos:
SELECT * FROM Student;
Producción :
Identificación del Estudiante | Nombre del estudiante | Student_Class | TotalExamenDado |
---|---|---|---|
1 | Sayán | IX | 8 |
2 | nitina | X | 5 |
3 | Aniket | XI | 6 |
4 | Abdur | X | 7 |
5 | Riya | IX | 4 |
6 | Jony | X | 10 |
7 | Deepak | X | 7 |
8 | Ankana | XII | 5 |
9 | Shreya | X | 8 |
Entonces, podemos ver que todas las filas de la tabla se dan en el orden correcto. Para devolver filas de la tabla Student en un orden aleatorio, usaremos:
SELECT * FROM Student ORDER BY RAND();
Producción :
Identificación del Estudiante | Nombre del estudiante | Student_Class | TotalExamenDado |
---|---|---|---|
6 | Jony | X | 10 |
1 | Sayán | IX | 8 |
5 | Riya | IX | 4 |
2 | nitina | X | 5 |
3 | Aniket | XI | 6 |
8 | Ankana | XII | 5 |
9 | Shreya | X | 8 |
4 | Abdur | X | 7 |
7 | Deepak | X | 7 |
Publicación traducida automáticamente
Artículo escrito por jana_sayantan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA