Introducción
Cuando recupera información de una tabla de PostgreSQL, es posible que desee que sus resultados se devuelvan en un pedido en particular. Las palabras clave PostgreSQL ORDER BY
le permiten ordenar registros de la base de datos en la columna de su elección. También puede especificar si desea que los resultados se ordenen en orden ascendente o descendente. En este artículo, le mostraremos cómo ordenar los registros y devolverlos en orden descendente utilizando las palabras clave Postgres ORDEN POR DESC.
Requisitos previos
Deberá asegurarse de que los siguientes requisitos previos estén en su lugar antes de continuar con este tutorial:
- PostgreSQL necesita ser instalado en su computadora para seguir junto con nuestros ejemplos de PostgreSQL ORDER BY DESC.
- Debe tener algunos conocimientos básicos de PostgreSQL para aprovechar al máximo este artículo.
Postgres ORDEN descendente
Comencemos por ver la sintaxis básica de las palabras clave ORDER BY
con la cláusula DESC
:
1
|
SELECCIONAR * DEL NOMBRE DE LA TABLA ORDENAR POR nombre de la columna DESC
|
NOTA: Si deseas que los resultados se devuelvan en orden ascendente, simplemente reemplaza la palabra clave DESC
por ASC
.
Ejemplo de PEDIDO POR Postgres
Antes de continuar con nuestro ejemplo, creemos una tabla y llamémosla «richest_countries»:
1
2 3 4 5 6 |
CREAR TABLA richest_countries (
id CLAVE PRIMARIA SERIE, VARCHAR de país (30), VARCHAR de continente (30), gdp_per_capita NUMÉRICO ); |
NOTA: Asegúrese de crear una base de datos para la tabla de ejemplo anterior antes de ejecutar la instrucción CREATE TABLE
que se muestra arriba. Una vez que haya creado su base de datos, puede usar el comando \c
en psql, seguido del nombre de la base de datos, para conectarse a ella.
Ahora insertemos algunos registros en la tabla. Esto nos proporcionará algunos datos de ejemplo para utilizar en nuestros ejemplos:
1
2 3 4 5 6 7 8 9 10 |
INSERT INTO richest_countries (país, continente, gdp_per_capita) VALUES (‘Australia’, ‘Australia’, ‘58824’);
INSERT INTO richest_countries (país, continente, gdp_per_capita) VALUES (‘Singapur’, ‘Asia’, ‘62690’); INSERT INTO richest_countries (país, continente, gdp_per_capita) VALUES (‘Dinamarca’, ‘Europa’, ‘63434’); INSERT INTO richest_countries (país, continente, gdp_per_capita) VALUES (‘Estados unidos de América’, ‘América del Norte’, ‘64906’); INSERT INTO richest_countries (país, continente, gdp_per_capita) VALUES (‘Qatar’, ‘Asia’, ‘65062’); INSERT INTO richest_countries (país, continente, gdp_per_capita) VALUES (‘Islandia’, ‘Europa’, ‘78181’); INSERT INTO richest_countries (el país, el continente, gdp_per_capita) VALUES (‘Irlanda’, ‘Europa’, ‘81477’); INSERT INTO richest_countries (país, continente, gdp_per_capita) VALUES (‘Swirzerland’, ‘Europa’, ‘83832’); INSÉRTESE EN LOS países más ricos (país, continente, PIB por habitante) LOS VALORES («Noruega», «Europa’, ‘86362’); INSERTAR EN LOS países más ricos (país, continente, PIB por habitante) LOS VALORES («Luxemburgo», «Europa’, ‘119719’); |
Postgres sort by usando ‘ORDER BY’
En el siguiente ejemplo, mostraremos los países más ricos y los ordenaremos por su PIB per cápita, devolviendo los registros en orden descendente:
1
2 3 |
SELECCIONAR país, continente, REPARTO (gdp_per_capita COMO DINERO)
DE richest_countries ORDENAR POR gdp_per_capita DESC; |
Observe que la instrucción SQL anterior usa CAST
junto con AS MONEY
: Esto devuelve los valores de columna gdp_per_capita
en un formato de moneda USD. A continuación, la consulta ordena los registros Postgres desde el PIB per cápita más alto hasta el menor:
1
2 3 4 5 6 7 8 9 10 11 12 13 |
país | continente | gdp_per_capita
————————–+—————+—————- Luxemburgo | Europa | $119,719.00 Noruega | Europa | $86,362.00 Swirzerland | Europa | $83,832.00 Irlanda | Europa | $81,477.00 Islandia | Europa | $78,181.00 Qatar | Asia | $65,062.00 Estados unidos DE América | América del Norte | $64,906.00 Dinamarca | Europa | $63,434.00 Singapur / Asia / $62,690. 00 Australia / Australia| $58,824.00 (10 FILAS) |
Ordenar registros en orden descendente con límite
En nuestro siguiente ejemplo, ordenaremos los países más ricos, pero esta vez limitaremos el número de registros que se devolverán:
1
2 3 4 |
SELECCIONAR país, continente, REPARTO (gdp_per_capita COMO DINERO)
DE richest_countries ORDENAR POR gdp_per_capita DESC LÍMITE 5; |
Esta declaración debe devolver el siguiente:
1
2 3 4 5 6 7 8 |
país | continente | gdp_per_capita
————-+———–+—————- Luxemburgo | Europa | $119,719.00 Noruega | Europa | $86,362.00 Swirzerland | Europa | $83,832.00 Irlanda | Europa | $81,477.00 Islandia | Europa | $78,181.00 (5 FILAS) |
Ordenar por instrucción PostgreSQL usando varias columnas
Cuando utiliza las palabras clave ORDER BY
, puede ordenar registros en más de una columna. Para este ejemplo, ordenaremos los países más ricos por continente y luego ordenaremos por PIB per cápita en orden descendente:
1
2 3 |
SELECCIONAR país, continente, REPARTO (gdp_per_capita COMO DINERO)
DE richest_countries ORDENAR POR continente, gdp_per_capita DESC; |
La instrucción SQL anterior devolverá la siguiente tabla:
1
2 3 4 5 6 7 8 9 10 11 12 13 |
país | continente | gdp_per_capita
————————–+—————+—————- Qatar | Asia | $65,062.00 Singapur | Asia | $62,690.00 Australia | Australia | $58,824.00 Luxemburgo | Europa | $119,719.00 Noruega | Europa | $86,362.00 Swirzerland | Europa | $83,832.00 Irlanda | Europa | $81,477.00 Islandia | Europa | $78,181.00 Dinamarca | Europa | $63,434.00 Estados Unidos de América / América del Norte| $64,906.00 (10 FILAS) |
Conclusión
Cuando ejecuta una consulta PostgreSQL, poder ordenar los registros devueltos hace que sus resultados sean más legibles y le ayuda a obtener mejores conocimientos de sus datos. Las palabras clave ORDER BY
le permiten especificar una columna en la que ordenar sus resultados; agregar la cláusula DESC
hace que sea fácil ordenar en orden descendente. En este artículo, explicamos cómo usar las palabras clave Postgres ORDEN POR DESC para ordenar los resultados de una consulta. Con nuestros ejemplos para comenzar, podrá utilizar estas palabras clave en sus propias consultas de PostgreSQL.