ORDENAR POR ALEATORIO en MySQL
-
Inserción de entradas en la tabla
student_dates
usando la instrucciónINSERT
en MySQL -
Ordenar aleatoriamente los valores de la tabla
student_dates
usando la instrucciónORDER BY
en MySQL
En este tutorial, entenderemos cómo clasificar u ordenar valores o registros de una tabla de forma aleatoria en MySQL.
La mayoría de las empresas y organizaciones que utilizan MySQL para el análisis o la visualización de datos necesitan ordenar diferentes valores de tabla de sus usuarios en función de diferentes criterios.
Una de las técnicas más eficientes para probar si los diferentes usuarios en una tabla MySQL se verifican correctamente es obtener acceso a los usuarios de forma aleatoria. Puede ayudar a evitar conflictos y comprender mejor al usuario en función de una plataforma en particular.
MySQL ayuda a los analistas a obtener acceso a registros aleatorios mediante la función RAND()
. Tratemos de entender esta afirmación con mayor profundidad.
Sin embargo, antes de comenzar, creamos un conjunto de datos ficticio para trabajar. Aquí creamos una tabla, student_dates
, junto con algunas filas.
-- create the table student_dates
CREATE TABLE student_dates(
stu_id int,
stu_firstName varchar(255) DEFAULT NULL,
stu_date date,
primary key(stu_id)
);
Inserción de entradas en la tabla student_dates
usando la instrucción INSERT
en MySQL
La consulta anterior crea una tabla con el nombre student_dates
. Ahora, con la ayuda de la sentencia INSERT
, intentemos agregar datos para algunos estudiantes. Esta operación se puede hacer de la siguiente manera:
-- insert rows to the table student_dates
INSERT INTO student_dates(stu_id,stu_firstName,stu_date)
VALUES(1,"Preet",STR_TO_DATE('24-May-2005', '%d-%M-%Y')),
(2,"Dhruv",STR_TO_DATE('14-June-2001', '%d-%M-%Y')),
(3,"Mathew",STR_TO_DATE('13-December-2020', '%d-%M-%Y')),
(4,"Jeet",STR_TO_DATE('14-May-2003', '%d-%M-%Y')),
(5,"Steyn",STR_TO_DATE('19-July-2002', '%d-%M-%Y'));
El código anterior ingresaría los datos del estudiante en la tabla student_dates
.
Ordenar aleatoriamente los valores de la tabla student_dates
usando la instrucción ORDER BY
en MySQL
Como se mencionó anteriormente, podemos usar la declaración order by
en MySQL para ordenar los valores. Esta lógica también se puede utilizar para ordenar registros en una tabla de forma aleatoria. Se puede hacer usando lo siguiente.
SELECT * from name_of_the_table
ORDER BY RAND();
Como podemos ver arriba, todos los registros de la tabla se ordenarían aleatoriamente usando la función RAND()
. Ahora podemos aplicar este concepto a nuestra tabla student_dates
. Esta operación se puede realizar con la siguiente consulta.
SELECT * from student_dates
ORDER BY RAND();
La salida del código antes mencionado se puede ilustrar de la siguiente manera.
stu_id stu_firstName stu_date
5 Steyn 2002-07-19
3 Mathew 2020-12-13
4 Jeet 2003-05-14
1 Preet 2005-05-24
2 Dhruv 2001-06-14
Como podemos ver en el bloque de código mencionado anteriormente, todos los registros de la tabla student_dates
se ordenan aleatoriamente. Si la consulta anterior se ejecuta un par de veces más, el resultado se verá así.
stu_id stu_firstName stu_date
4 Jeet 2003-05-14
1 Preet 2005-05-24
2 Dhruv 2001-06-14
3 Mathew 2020-12-13
5 Steyn 2002-07-19
Los valores se ordenan aleatoriamente, como podemos ver en los bloques de salida antes mencionados.
Así, con la ayuda de la instrucción ORDER BY
y la función RAND()
, podemos ordenar de forma aleatoria diferentes registros de una tabla en particular en MySQL.