ORDENAR POR ALEATORIO en MySQL

Preet Sanghavi 30 enero 2023
  1. Inserción de entradas en la tabla student_dates usando la instrucción INSERT en MySQL
  2. Ordenar aleatoriamente los valores de la tabla student_dates usando la instrucción ORDER BY en MySQL
ORDENAR POR ALEATORIO 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.

Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub