MySQL Cómo obtener el número de fila orden

Estas instrucciones explican cómo se puede mostrar el orden / rango del número de fila para el conjunto de resultados obtenido al ejecutar una consulta de SQL. Se proporciona un ejemplo con una explicación del tutorial.

Veamos un ejemplo.

Primero, vamos a crear una tabla de empleados en nuestra base de datos.

Consulta 1.1

mysql> crear empleado de tabla (id smallint (5),
nombre varchar (15), salario smallint (5));

A continuación, inserte los registros en la tabla de empleados.

Consulta 1.2

mysql> Insertar en valores de empleado (1, 'jon', 1000);
mysql> Insertar en valores de empleado (2, 'darvin', 3500);
mysql> Insertar en valores de empleado (3, 'krik', 500);
mysql> Insertar en valores de empleados (4, 'rook', 1500);
mysql> Insertar en los valores de los empleados (5, 'alex', 100);

Ahora, muestra todos los registros de la tabla de empleados.

Consulta 1.3

mysql> seleccione * de empleado; + ------ + -------- + -------- + | id | nombre | sueldo + ------ + -------- + -------- + | 1 | jon 1000 | | 2 | darvin | 3500 | | 3 | krik | 500 | | 4 | torre 1500 | | 5 | alex | 100 | + ------ + -------- + -------- + 5 filas en conjunto (0,00 seg)

Ahora, recuperemos todos los registros de la tabla de empleados ordenados por salario.

Consulta 1.4

mysql> seleccione * de orden de empleado por salario; + ------ + -------- + -------- + | id | nombre | sueldo + ------ + -------- + -------- + | 5 | alex | 100 | | 3 | krik | 500 | | 1 | jon 1000 | | 4 | torre 1500 | | 2 | darvin | 3500 | + ------ + -------- + -------- + 5 filas en conjunto (0,00 seg) 

Ahora, realmente queremos tener una columna adicional que se ejecute desde el inicio en 1 (primera fila) hasta la última fila. Esto es para que podamos mostrar el orden de las filas en la tabla. Aquí está la consulta.

mysql> set @row_num = 0;
SELECCIONE @row_num: = @row_num + 1 como row_number, id, nombre, salario DE empleado
ORDEN POR sueldo;

+ ------------ + ------ + -------- + -------- + | row_number | id | nombre | sueldo + ------------ + ------ + -------- + -------- + | 1 | 5 | alex | 100 | | 2 | 3 | krik | 500 | | 3 | 1 | jon 1000 | | 4 | 4 | torre 1500 | | 5 | 2 | darvin | 3500 | + ------------ + ------ + -------- + -------- + 5 filas en conjunto (0,00 seg) 

Ahora puedes ver la columna adicional (numero de fila) que muestra el orden de las filas. Esto es muy útil al mostrar los registros.

Vamos a profundizar un poco más sobre cómo funciona la consulta anterior 1.4 para obtener el orden de los números de fila.

establece @row_num = 0;

Esto utiliza @row_num como variable definida por el usuario para mantener el recuento de filas y se le asigna un valor 0.

SELECCIONE @row_num: = @row_num + 1 como row_number

Aquí, aumentamos la variable. @row_num por 1, cada vez que el carné de identidad La columna cambia y mantenemos el valor que tenía en la fila anterior. Esto seguirá incrementando la variable. @row_num hasta que llegue a la última fila en carné de identidad columna, utilizando 'numero de fila' para alias de columna.