¿Cómo ordena y limita el proceso MySQL en una consulta?

En MySQL, la cláusula LIMIT se usa con la declaración SELECT para restringir el número de filas en el conjunto de resultados. La cláusula de límite acepta uno o dos argumentos que se compensan y cuentan. El valor de ambos parámetros puede ser cero o enteros positivos.

Cláusula LÍMITE:

Sintaxis:

SELECCIONE columna1, columna2, …

DESDE table_name

LÍMITE compensación, cuenta;

La cláusula Limit acepta uno o dos parámetros, cada vez que se especifican dos parámetros, el primero es el desplazamiento y el segundo indica el recuento, mientras que cada vez que se especifica un solo parámetro, indica el número de filas que se devolverán desde el principio del conjunto de resultados. .

  • Desplazamiento: se utiliza para especificar el desplazamiento de la primera fila que se devolverá.
  • Count: se utiliza para especificar el número máximo de filas que se devolverán.

 SELECT con LIMIT y ORDER BY declaración en MySQL:

Sintaxis:

SELECCIONAR expresiones

DESDE tablas

[DONDE condiciones]

[ORDENAR POR expresión [ ASC | DESC ]]

LÍMITE row_count_number;

  • expresiones: Las columnas o cálculos que desea recuperar.
  • tablas: las tablas de las que desea recuperar registros. Debe haber al menos una tabla listada en la cláusula FROM.
  • Condiciones WHERE:   Son condiciones opcionales que se deben cumplir para que se seleccionen los registros.
  • ORDER BY expresión: Estas son declaraciones opcionales que se utilizan para devolver el resultado en orden ascendente o descendente.
  • LIMIT row_count_number: especifica un número limitado de filas que se devolverán en función de row_count_number.

 

Entendamos esta sintaxis usando un ejemplo. Digamos que tenemos una relación, estudiante .

Crear una base de datos en MySQL:

Consulta:

-- create
CREATE TABLE Student (
  Id INTEGER PRIMARY KEY,
  name TEXT NOT NULL,
  score Number NOT NULL,
  branch TEXT 
);

Insertar datos en una tabla:

Consulta:

-- insert
INSERT INTO Student VALUES (55, 'Bhargavi', '81','civil');
INSERT INTO Student VALUES (56, 'Nikita', '75','IT');
INSERT INTO Student VALUES (57, 'Riddhi', '100','CSE');
INSERT INTO Student VALUES (58, 'Shreya', '94','civil');

Producción:

Consulta:

SELECT * FROM Student ORDER BY Score DESC LIMIT 2;

Producción:

El operador LIMIT se puede usar en situaciones como la anterior, donde necesitamos encontrar a los 2 mejores estudiantes que tienen puntajes máximos y no queremos usar declaraciones condicionales. ORDER BY Score DESC ha ordenado el registro en orden descendente y usando LIMIT 2 obtuvimos las primeras 2 filas de los resultados ordenados.

También podemos incluir algunas situaciones usando la cláusula WHERE en el ejemplo anterior. Supongamos que no queremos la rama Civil en nuestro conjunto de resultados y queremos que los primeros 2 estudiantes tengan puntajes bajos.

Podemos escribir consultas como:

Consulta:

SELECT * FROM Student WHERE Branch != 'Civil' ORDER BY Score  LIMIT 2;

Producción:

La consulta anterior seleccionará a todos los estudiantes de acuerdo con la condición impuesta (es decir, se seleccionarán todos los estudiantes, excepto los estudiantes de la rama Civil), luego los resultados se ordenarán por puntaje en orden ascendente (la palabra clave ORDER BY ordena los registros en orden ascendente de forma predeterminada) . Finalmente, la consulta anterior devolvería las primeras 2 filas.

Publicación traducida automáticamente

Artículo escrito por chaudharinikita9999 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *