Clasificación de resultados
Con el comando SELECT, los resultados se devolvieron en el mismo orden en que se ingresaron los registros en 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. La clasificación simplemente reorganiza nuestros resultados de búsqueda de una manera específica. Es posible ordenar en una o más columnas. Puede realizar números, cadenas y tipos de datos de fecha.
¿Qué es ORDER BY MySQL?
PEDIR MySQL EN se utiliza junto con la consulta SELECT para ordenar los datos de forma ordenada. La cláusula ORDER BY de MySQL se utiliza para ordenar conjuntos de resultados de consultas en orden ascendente o descendente.
SELECT statement... [WHERE condition | GROUP BY `field_name(s)` HAVING condition] ORDER BY `field_name(s)` [ASC | DESC];
AQUÍ
- «Sentencia SELECT …» La cuestión de la selección es habitual
- «|» Representa alternativas
- «[WHERE condition | GROUP BY `field_name(s)` HAVING condition» is the optional condition used to filter the query result sets.
- «ORDER BY» performs the query result set sorting
- «[ASC | DESC]» la palabra clave utilizada para ordenar los conjuntos de resultados en orden ascendente o descendente. Nota ASC utilizado por defecto.
¿Qué son las palabras clave DESC y ASC?
ASC es la forma corta de ascenso | MySQL DESC es la forma abreviada de descendente |
Se utiliza para ordenar los resultados de la consulta con estilo de arriba a abajo. | Se utiliza para ordenar los resultados de la consulta en un estilo ascendente. |
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 fecha, la fecha más reciente 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 cableados, el conjunto de resultados de la consulta se ordena desde los que comienzan con la letra A hasta la letra Z. | Cuando se trabaja con tipos de datos cableados, el conjunto de resultados de la pregunta se ordena a partir de los que comienzan con la letra Z hasta la letra A. |
Las palabras clave de SQL DESC y ASC se utilizan junto con la instrucción SELECT y la cláusula ORS MySQL BY.
Sintaxis DESC y ASC
La palabra clave DESC SQL sort tiene la siguiente sintaxis básica.
SELECT {fieldName(s) | *} FROM tableName(s) [WHERE condition] ORDER BY fieldname(s) ASC /DESC [LIMIT N]
AQUÍ
- SELECCIONAR {fieldName (s) | *} De nombre (s) de tabla la declaración que contiene los campos y la (s) tabla (s) a partir de la cual se determinará el resultado.
- [WHERE condition] opcional pero se puede utilizar para filtrar los datos de acuerdo con la condición dada.
- PEDIR POR El nombre del campo es obligatorio y es el campo que se va a ordenar. La palabra clave DESC de MySQL especifica que la clasificación debe estar en orden descendente.
- [LIMIT] opcional, pero se puede utilizar para limitar el número de resultados devueltos por el conjunto de consultas.
Ejemplos:
Veamos ahora un ejemplo práctico:
La ejecución del script anterior en MySQL workbench contra myflixdb da los siguientes resultados que se muestran a continuación.
membership_number full_names gender date_of_birth physical_address postal_address contct_number 1 Janet Jones Female 21-07-1980 First Street Plot No 4 Private Bag 0759 253 542 This email address is being protected from spambots. You need JavaScript enabled to view it. 2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL This email address is being protected from spambots. You need JavaScript enabled to view it. 3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 This email address is being protected from spambots. You need JavaScript enabled to view it. 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
Creemos que el departamento de marketing quiere ordenar los detalles de los miembros en orden descendente de fecha de nacimiento. Esto les ayudará a enviar saludos de cumpleaños de manera oportuna. Podemos obtener esa lista ejecutando una pregunta como la siguiente:
SELECT * FROM members ORDER BY date_of_birth DESC;
La ejecución del script anterior en MySQL workbench contra myflixdb da los siguientes resultados que se muestran a continuación.
Misma pregunta en orden ascendente
SELECCIONAR * DE ORDEN miembros EN ASC date_of_birth
Nota: Los valores NULL no significan ningún valor (ni cero ni una cadena vacía). Mire la forma en que se clasificaron.
Más ejemplos
Consideremos el siguiente script que enumera todos los registros de miembros.
La ejecución de la secuencia de comandos anterior da los siguientes resultados que se muestran a continuación.
membership_number full_names gender date_of_birth physical_address postal_address contct_number 1 Janet Jones Female 21-07-1980 First Street Plot No 4 Private Bag 0759 253 542 This email address is being protected from spambots. You need JavaScript enabled to view it. 2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL This email address is being protected from spambots. You need JavaScript enabled to view it. 3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 This email address is being protected from spambots. You need JavaScript enabled to view it. 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 una lista que determine el resultado del conjunto de preguntas usando 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 1 Janet Jones Female 21-07-1980 First Street Plot No 4 Private Bag 0759 253 542 This email address is being protected from spambots. You need JavaScript enabled to view it. 2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL This email address is being protected from spambots. You need JavaScript enabled to view it. 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 This email address is being protected from spambots. You need JavaScript enabled to view it. 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 mostraban primero seguidos por los miembros “masculinos”, esto ocurre cuando se usa una cláusula DESC COMMAND sin especificar una palabra clave ASC o MySQL DESC, por defecto, MySQL tiene el resultado de la consulta establecida en orden ascendente.
Veamos ahora un ejemplo que hace que el ordenar dos columnas; el primero es editado en orden ascendente por defecto la longitud de la segunda columna editado en orden descendiente.
SELECT * FROM `members` ORDER BY `gender`,`date_of_birth` DESC;
Los siguientes resultados sugieren ejecutar el script anterior en un banco de trabajo MySQL contra myflixdb.
La columna de género se ordenó en orden ascendente de forma predeterminada y la columna de fecha de nacimiento se ordenó en orden descendente explícitamente
¿Por qué podríamos usar DESC y ASC?
Supongamos que queremos imprimir un historial de pagos para un miembro de la biblioteca de videos para ayudar a responder preguntas de la recepción, ¿no sería más lógico imprimir los pagos en orden cronológico descendente comenzando con el pago reciente con el pago anterior?
DESC es una palabra clave en SQL que resulta útil en tales casos. Podemos escribir una consulta que ponga la lista en orden descendente usando la fecha de pago.
Supongamos que el departamento de marketing quiere una lista de películas por categoría que los miembros puedan usar para decidir qué películas están disponibles en la biblioteca cuando alquilan películas, no sería más lógico nombrarlas y titularlas. Ordene la categoría de películas a medida que vayan subiendo de modo que los miembros pueden buscar rápidamente la información de la lista?
Una palabra clave ASC es útil en tales casos; podemos ordenar la lista de películas por nombre de categoría y título de película en orden ascendente.
Resumen
- La clasificación de los resultados de la consulta reorganiza las filas devueltas a partir del resultado de una consulta organizadas en orden ascendente o descendente.
- La palabra clave DESC se utiliza en SQL para ordenar el resultado del conjunto de consultas en orden descendente.
- La palabra clave ASC se utiliza para ordenar el resultado del conjunto de consultas en orden ascendente.
- DESC y ASC funcionan junto con la palabra clave ORDER BY. También se pueden utilizar en combinación con otras palabras clave, como la cláusula PLACE y LIMIT.
- ASC es el valor predeterminado de AT ORDER cuando no se especifica nada explícitamente.