ORDENAR POR en MySQL: Consulta DESC y ASC con EJEMPLO

Resultados de clasificaciรณn

Usando el comando SELECT, los resultados se devolvieron en el mismo orden en que se agregaron los registros a la base de datos. Este es el orden de clasificaciรณn predeterminado. En esta secciรณn, veremos cรณmo podemos ordenar los resultados de nuestra consulta. Ordenar es simplemente reorganizar los resultados de nuestra consulta de una manera especรญfica. La clasificaciรณn se puede realizar en una sola columna o en mรกs de una columna. Se puede hacer con tipos de datos numรฉricos, cadenas y fechas.

ยฟQuรฉ es ORDER BY en MySQL?

MySQL ORDEN POR se utiliza junto con la consulta SELECT para ordenar los datos de manera ordenada. El MySQL La clรกusula ORDER BY se utiliza para ordenar los conjuntos de resultados de la consulta en orden ascendente o descendente.

SELECT statement... [WHERE condition | GROUP BY `field_name(s)` HAVING condition] ORDER BY `field_name(s)` [ASC | DESC];

AQUร

  • "Instrucciรณn SELECT... " es la consulta de selecciรณn regular
  • โ€ | โ€œ representa alternativas
  • โ€œ[Dร“NDE condiciรณn | GRUPO POR `nombre_campo(s)` QUE TIENE condiciรณnโ€ es la condiciรณn opcional utilizada para filtrar los conjuntos de resultados de la consulta.
  • โ€œORDENAR PORโ€ realiza la clasificaciรณn del conjunto de resultados de la consulta
  • โ€œ[ASC | DESC]โ€ es la palabra clave utilizada para ordenar los conjuntos de resultados en orden ascendente o descendente. Nota ASC se utiliza por defecto.
  • ยฟQuรฉ son las palabras clave DESC y ASC?

    Palabras clave DESC y ASCASC es la forma corta de ascender Palabras clave DESC y ASCMySQL DESC es la forma corta de descender
    Se utiliza para ordenar los resultados de la consulta de arriba a abajo. Se utiliza para ordenar los resultados de la consulta en un estilo de abajo hacia arriba.
    Cuando se trabaja con tipos de datos de fecha, la fecha mรกs antigua se muestra en la parte superior de la lista. . Cuando se trabaja con tipos de fechas, la รบltima fecha se muestra en la parte superior de la lista.
    Cuando se trabaja con tipos de datos numรฉricos, los valores mรกs bajos se muestran en la parte superior de la lista. Cuando se trabaja con tipos de datos numรฉricos, los valores mรกs altos se muestran en la parte superior del conjunto de resultados de la consulta.
    Cuando se trabaja con tipos de datos de cadena, el conjunto de resultados de la consulta se ordena desde aquellos que comienzan con la letra A hasta la letra Z. Cuando se trabaja con tipos de datos de cadena, el conjunto de resultados de la consulta se ordena desde aquellos que comienzan con la letra Z hasta la letra A.

    Tanto las palabras clave SQL DESC como ASC se utilizan junto con la instrucciรณn SELECT y MySQL Clรกusula ORDER BY.


    Sintaxis DESC y ASC

    La palabra clave de ordenaciรณn SQL DESC tiene la siguiente sintaxis bรกsica.

    SELECT {fieldName(s) | *} FROM tableName(s) [WHERE condition] ORDER BY fieldname(s) ASC /DESC [LIMIT N]

    AQUร

    • SELECCIONE {nombre(s) de campo | *} FROM nombre(s) de tabla(s) es la declaraciรณn que contiene los campos y las tablas de las cuales obtener el conjunto de resultados.
    • [DONDE condiciรณn] Es opcional pero se puede utilizar para filtrar los datos segรบn la condiciรณn dada.
    • ORDEN POR nombre(s) de campo es obligatorio y es el campo en el que se realizarรก la clasificaciรณn. El MySQL La palabra clave DESC especifica que la clasificaciรณn debe realizarse en orden descendente.
    • [LรMITE] es opcional pero se puede utilizar para limitar el nรบmero de resultados devueltos por el conjunto de resultados de la consulta.

    Ejemplos:

    Veamos ahora un ejemplo prรกctico:

    SELECT * FROM members;

    Ejecutando el script anterior en MySQL El banco de trabajo contra myflixdb nos da los siguientes resultados que se muestran a continuaciรณn.

membership_number full_names gender date_of_birth physical_address postal_address contct_number email
1 Janet Jones Female 21-07-1980 First Street Plot No 4 Private Bag 0759 253 542 janetjones@yagoo.cm
2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com
3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 rm@tstreet.com
4 Gloria Williams Female 14-02-1984 2nd Street 23 NULL NULL NULL
5 Leonard Hofstadter Male NULL Woodcrest NULL 845738767 NULL
6 Sheldon Cooper Male NULL Woodcrest NULL 976736763 NULL
7 Rajesh Koothrappali Male NULL Woodcrest NULL 938867763 NULL
8 Leslie Winkle Male 14-02-1984 Woodcrest NULL 987636553 NULL
9 Howard Wolowitz Male 24-08-1981 SouthPark P.O. Box 4563 987786553


Supongamos que el departamento de marketing desea que los datos de los miembros estรฉn ordenados en orden decreciente segรบn la fecha de nacimiento. Esto les permitirรก enviar felicitaciones de cumpleaรฑos de manera oportuna. Podemos obtener dicha lista ejecutando una consulta como la siguiente:

SELECT * FROM members ORDER BY date_of_birth DESC;

Ejecutando el script anterior en MySQL El banco de trabajo contra myflixdb nos da los siguientes resultados que se muestran a continuaciรณn.

Ejemplo DESC y ASC

La misma consulta en orden ascendente.

SELECCIONAR * DE miembros ORDENAR POR fecha_de_nacimiento ASC

Ejemplo DESC y ASC

Nota: Los valores NULL significan que no hay valores (ni cero ni una cadena vacรญa). Observe la forma en que han sido ordenados.

Mรกs ejemplos

Consideremos el siguiente script SQL de ordenaciรณn que enumera todos los registros de miembros.

SELECT * FROM `members`;

La ejecuciรณn del script anterior arroja los siguientes resultados que se muestran a continuaciรณn.

membership_number full_names gender date_of_birth physical_address postal_address contct_number email
1 Janet Jones Female 21-07-1980 First Street Plot No 4 Private Bag 0759 253 542 janetjones@yagoo.cm
2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com
3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 rm@tstreet.com
4 Gloria Williams Female 14-02-1984 2nd Street 23 NULL NULL NULL
5 Leonard Hofstadter Male NULL Woodcrest NULL 845738767 NULL
6 Sheldon Cooper Male NULL Woodcrest NULL 976736763 NULL
7 Rajesh Koothrappali Male NULL Woodcrest NULL 938867763 NULL
8 Leslie Winkle Male 14-02-1984 Woodcrest NULL 987636553 NULL
9 Howard Wolowitz Male 24-08-1981 SouthPark P.O. Box 4563 987786553 NULL


Supongamos que queremos obtener una lista que ordene el conjunto de resultados de la consulta utilizando el campo de gรฉnero, usarรญamos el script que se muestra a continuaciรณn.

SELECT * FROM `members` ORDER BY `gender`;
membership_number full_names gender date_of_birth physical_address postal_address contct_number email
1 Janet Jones Female 21-07-1980 First Street Plot No 4 Private Bag 0759 253 542 janetjones@yagoo.cm
2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com
4 Gloria Williams Female 14-02-1984 2nd Street 23 NULL NULL NULL
3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 rm@tstreet.com
5 Leonard Hofstadter Male NULL Woodcrest NULL 845738767 NULL
6 Sheldon Cooper Male NULL Woodcrest NULL 976736763 NULL
7 Rajesh Koothrappali Male NULL Woodcrest NULL 938867763 NULL
8 Leslie Winkle Male 14-02-1984 Woodcrest NULL 987636553 NULL
9 Howard Wolowitz Male 24-08-1981 SouthPark P.O. Box 4563 987786553 NULL

Los miembros โ€œFemeninosโ€ se han mostrado primero, seguidos de los miembros โ€œMasculinosโ€, esto se debe a que cuando se utiliza la clรกusula ORDER BY DESC sin especificar el ASC o MySQL Palabra clave DESC, por defecto, MySQL ha ordenado el resultado de la consulta establecido en orden ascendente.

Veamos ahora un ejemplo que hace lo ordenar usando dos columnas; El primero es ordenados in orden ascendente de forma predeterminada, mientras que la segunda columna es ordenados in orden descendiente.

SELECT * FROM `members` ORDER BY `gender`,`date_of_birth` DESC;

Ejecutando el script anterior en MySQL El banco de trabajo contra myflixdb arroja los siguientes resultados.

Ejemplo DESC y ASC

La columna de gรฉnero se ordenรณ en orden ascendente de forma predeterminada, mientras que la columna de fecha de nacimiento se ordenรณ en orden descendente explรญcitamente.

ยฟPor quรฉ podemos usar DESC y ASC?

Supongamos que queremos imprimir un historial de pagos para un miembro de la videoteca para ayudar a responder consultas desde la recepciรณn, ยฟno serรญa mรกs lรณgico imprimir los pagos en orden cronolรณgico descendente, comenzando con el pago reciente hasta el pago anterior?

DESC en SQL es una palabra clave que resulta รบtil en tales situaciones. Podemos escribir una consulta que ordene la lista en orden descendente utilizando la fecha de pago.

Supongamos que el departamento de marketing quiere obtener una lista de pelรญculas por categorรญa que los miembros pueden usar para decidir quรฉ pelรญculas estรกn disponibles en la biblioteca al alquilar pelรญculas, ยฟno serรญa mรกs lรณgico ordenar los nombres y tรญtulos de las categorรญas de pelรญculas en orden ascendente para que ยฟLos miembros pueden buscar rรกpidamente la informaciรณn de la lista?

La palabra clave ASC resulta รบtil en tales situaciones; Podemos obtener la lista de pelรญculas ordenadas por nombre de categorรญa y tรญtulo de pelรญcula en orden ascendente.

Resumen

  • Ordenar los resultados de una consulta consiste en reorganizar las filas devueltas por un conjunto de resultados de una consulta en orden ascendente o descendente.
  • La palabra clave DESC en SQL se utiliza para ordenar el conjunto de resultados de la consulta en orden descendente.
  • La palabra clave ASC se utiliza para ordenar el conjunto de resultados de la consulta en orden ascendente.
  • Tanto DESC como ASC funcionan junto con la palabra clave ORDER BY. Tambiรฉn se pueden utilizar en combinaciรณn con otras palabras clave como Dรณnde clรกusula y LรMITE
  • El valor predeterminado para ORDER BY cuando no se ha especificado nada explรญcitamente es ASC.

Resumir este post con: