Clasificación y paginación: "base de datos MySQL"

Hola compañeros usuarios de CSDN, hoy, el contenido de Xiaoyalan está ordenado y paginado en la base de datos MySQL. ¡Ahora, entremos en el mundo de la clasificación y paginación! ! !


ordenar datos

Paginación


ordenar datos

Reglas de clasificación

Ordenar usando la cláusula ORDER BY  

ASC (ascender): orden ascendente

DESC (descender): orden descendente

La cláusula ORDER BY está al final de la declaración SELECT.

Ordenar una sola columna

SELECCIONE apellido, id_trabajo, id_departamento, fecha_contratación

DE empleados

ORDENAR POR fecha_contratación;

 

SELECCIONE apellido, id_trabajo, id_departamento, fecha_contratación

DE empleados

ORDENAR POR fecha_contratación DESC;

 

SELECCIONE empleado_id, apellido, salario*12 años

DE empleados

ORDEN POR anual;

 

Ordenar por varias columnas

SELECCIONE apellido, id_departamento, salario

DE empleados

ORDEN POR id_departamento, salario DESC;

 

Es posible ordenar usando columnas que no están en la lista SELECT.

Al ordenar varias columnas, la primera columna ordenada debe tener el mismo valor de columna antes de ordenar la segunda columna. Si todos los valores de la primera columna de datos son únicos, la segunda columna ya no estará ordenada.  


Paginación

fondo

Antecedentes 1: La consulta devuelve demasiados registros, lo cual es muy inconveniente de ver ¿Cómo podemos implementar la consulta de paginación?

Antecedentes 2: Hay 4 datos en la tabla, ¿qué debemos hacer si solo queremos mostrar el segundo y tercer datos?

Reglas de implementación

  • Principio de paginación: la llamada visualización de paginación son las condiciones necesarias para mostrar el conjunto de resultados en la base de datos sección por sección.
  • Usando LIMIT para implementar paginación en MySQL
  • Formato: LIMIT [desplazamiento de posición,] número de líneas
  • El primer parámetro "desplazamiento de posición" indica qué fila comienza a mostrar MySQL. Es un parámetro opcional. Si no se especifica el "desplazamiento de posición", comenzará desde el primer registro de la tabla (el primer registro El desplazamiento de posición del segundo el registro es 0, el desplazamiento de posición del segundo registro es 1, y así sucesivamente); el segundo parámetro "número de filas" indica el número de registros devueltos.
  • Ejemplo

--Los primeros 10 registros:

SELECCIONAR * DEL nombre de la tabla LIMIT 0,10;

o

SELECCIONAR * DEL nombre de la tabla LÍMITE 10;

--Registros 11 al 20:

SELECCIONAR * DEL nombre de la tabla LIMIT 10,10;

--Registros 21 al 30:

SELECCIONAR * DEL nombre de la tabla LIMIT 20,10;

 "LIMIT 3 OFFSET 4" se puede utilizar en MySQL 8.0, lo que significa obtener los siguientes 3 registros a partir del quinto registro, que es el mismo resultado devuelto por "LIMIT 4,3;".

Fórmula explícita de paginación: (número de página actual - 1) * número de elementos por página, número de elementos por página

SELECT * FROM table 

LIMIT(PageNo - 1)*PageSize,PageSize;

Nota: ¡La cláusula LIMIT debe colocarse al final de toda la declaración SELECT!

Beneficios de usar LIMIT: restringir la cantidad de resultados devueltos puede reducir la cantidad de transmisión de red de la tabla de datos y mejorar la eficiencia de las consultas. Si sabemos que solo se devuelve 1 resultado, podemos usar LIMIT 1 para indicarle a la instrucción SELECT que solo devuelva un registro. La ventaja de esto es que SELECT no necesita escanear toda la tabla, solo necesita recuperar un registro que cumpla con las condiciones y devolverlo.

expandir

Las palabras clave utilizadas pueden diferir en diferentes DBMS. La palabra clave LIMIT se utiliza en MySQL, PostgreSQL, MariaDB y SQLite, y debe colocarse al final de la instrucción SELECT.

Si es SQL Server y Access, debe utilizar la palabra clave TOP, como por ejemplo:

SELECCIONE LOS 5 nombres principales, hp_max DE heros ORDENAR POR hp_max DESC

Si es DB2, utilice palabras clave como OBTENER SÓLO LAS PRIMERAS 5 FILAS:

SELECCIONE nombre, hp_max DE heros ORDEN POR hp_max DESC FETCH SÓLO LAS PRIMERAS 5 FILAS

Si es Oracle, debe contar el número de filas según ROWNUM:

 SELECCIONE rownum, apellido, salario DE los empleados DONDE rownum <5 ORDEN POR salario DESC;

Cabe señalar que esta declaración primero recupera las primeras 5 filas de datos y luego las ordena de mayor a menor de acuerdo con hp_max. Pero los resultados producidos por esto son diferentes a los del método anterior. 


Bien, ese es todo el contenido de Xiao Yalan por hoy, ¡sigan con el buen trabajo! ! !

Supongo que te gusta

Origin blog.csdn.net/weixin_74957752/article/details/132917272
Recomendado
Clasificación