<aside> 💡 La cláusula ORDER BY es una herramienta útil para ordenar datos en SQL. Puedes recuperar y analizar datos de varias formas al combinarla con la declaración SELECT y otras características y funciones de SQL.
</aside>
Digamos que tienes una gran colección de artículos, por ejemplo, de cómics, y estás tratando de encontrar un número específico, puede ser una pesadilla si están todos mezclados, ¿verdad? Pero ¿qué pasa si están ordenados, por título o por fecha de lanzamiento? De repente, encontrar ese cómic se vuelve mucho más fácil. Bueno, ¡con SQL puedes hacer lo mismo con tus datos!
En el mundo de SQL, tenemos esta increíble cláusula llamada ORDER BY
. Es como tener tu propio asistente de biblioteca personal, que te ayuda a ordenar tus datos exactamente como deseas.
Utilizas ORDER BY
con una declaración SELECT
. Entonces, si tienes una tabla llena de cómics y quieres listarlos por título, podrías decir algo como:
SELECT * FROM comic_books
ORDER BY
title;
La sintaxis básica de la cláusula ORDER BY
es la siguiente:
SELECT
column1,
column2, ...
ORDER BY
column1 [ASC|DESC],
column2 [ASC|DESC], ...;
Aquí tienes algunos ejemplos de cómo usar la cláusula ORDER BY
para ordenar datos:
Para ordenar datos en orden ascendente según una sola columna:
SELECT * FROM table
ORDER BY
column_name ASC;
Para ordenar datos en orden descendente según una sola columna:
SELECT * FROM table
ORDER BY
column_name DESC;
Para ordenar datos en orden ascendente y descendente según múltiples columnas:
SELECT * FROM table
ORDER BY
column_1 ASC,
column_2 DESC;
De forma predeterminada, la cláusula ORDER BY
ordena los datos en orden ascendente, por lo que no es necesario especificar la palabra clave ASC
. Para ordenar los datos en orden descendente, se debe especificar la palabra clave DESC
después del nombre de la columna.
También se puede utilizar la cláusula ORDER BY
con funciones de agregación, como COUNT
, SUM
, AVG
, MIN
y MAX
, para ordenar los datos según el resultado de la función. Por ejemplo:
SELECT
column1,
COUNT(column2) as total
FROM table
GROUP BY
column1
ORDER BY
2 DESC
Esta declaración recupera datos de la tabla table_name
, los agrupa por column1
, cuenta el número de filas en cada grupo utilizando la función COUNT y ordena los resultados en orden descendente según el recuento. En SQL, se puede definir el orden de las columnas utilizando números, en este caso, el número 2 representa la segunda columna COUNT(column2)
como total
.