Módulo 3 · Organizar y resumir

Ordena y limita los resultados

Decide el orden de las filas y cuántas quieres mostrar.

20 minNivel InicialAntes necesitas: Filtros consolidados

0 de 45 lecciones

Al terminar, podrás

  • Ordenar por una o varias expresiones.
  • Limitar un resultado después de establecer un orden estable.
  • Usar OFFSET y reconocer que la sintaxis para limitar cambia entre motores.

Recupera lo aprendido: ¿WHERE define qué filas aparecen o en qué orden se muestran?

La idea clave

ORDER BY es la cláusula que hace explícito el orden del resultado. LIMIT conserva una cantidad máxima de filas y OFFSET omite un bloque inicial. Para pedir «los primeros» o «los más altos», primero debes definir qué significa estar primero.

Regla de estabilidad: si la primera columna de orden puede empatar, añade una segunda. Así la consulta decide también cómo ordenar las filas empatadas.

La sintaxis del laboratorio

Estructura
ORDER BY columna1 ASC|DESC, columna2 ASC|DESC
LIMIT cantidad
OFFSET filas_omitidas

ASC ordena de menor a mayor y es el valor predeterminado. DESC invierte el sentido. En el curso usamos LIMIT, disponible en SQLite, PostgreSQL y MySQL; SQL Server utiliza TOP o OFFSET ... FETCH.

Ejemplo paso a paso

Datos relevantes de la tabla productos
nombreprecio
Ratón24,90
Teclado49,50
Monitor 24179,00
Portátil Pro999,00
Auriculares69,90
Monitor 27249,00
Disco SSD89,00
Cable USB-C12,00
Altavoz54,00

Queremos los tres productos más caros. Si dos precios fueran iguales, ordenaríamos sus nombres alfabéticamente.

SQL
SELECT nombre, precio
FROM productos
ORDER BY precio DESC, nombre ASC
LIMIT 3;
Resultado esperado
nombreprecio
Portátil Pro999,00
Monitor 27249,00
Monitor 24179,00

Cómo funciona

  1. ORDER BY precio DESC coloca los precios mayores al principio.
  2. nombre ASC resuelve un posible empate de precio.
  3. LIMIT 3 conserva las tres primeras filas del orden ya establecido.
Comprueba tu comprensión

¿Qué hace que «los tres productos más caros» tenga un significado estable?

Un error habitual

Limitar antes de escribir el orden

Ejemplo con error
SELECT nombre
FROM productos
LIMIT 3
ORDER BY precio DESC;

En esta sintaxis, ORDER BY se escribe antes de LIMIT. Además, limitar sin un orden estable no garantiza qué filas formarán el bloque.

Practica con datos

Laboratorio SQL

Resuelve la consulta

Pendiente

Escribe una consulta que devuelva los dos productos con menos stock, mostrando nombre y stock. Si empatan, ordena el nombre alfabéticamente.

Resultado esperado: 2 filas con nombre, stock. El orden importa y los empates se resuelven por nombre.

Ver tablas y datos

Cargando la estructura del ejercicio…

La consulta usa datos ficticios y se ejecuta solo en este navegador.

Fuentes técnicas consultadas

Las fuentes confirman que el orden no está garantizado sin ORDER BY y documentan las diferencias de sintaxis para limitar filas.

Comprueba si puedes explicarlo

Dos productos tienen el mismo stock y el mismo nombre. ¿Basta ORDER BY stock, nombre para elegir siempre el mismo primero?

Ver respuesta razonada

No. Ambos criterios siguen empatados. Añade una clave única, por ejemplo id, como último desempate. LIMIT toma filas del orden que hayas definido.

Responde antes de abrir la explicación. Si necesitaste ayuda, cierra la respuesta y vuelve a explicarlo con tus palabras antes de dar la lección por aprendida.

Qué debes recordar

  • Solo ORDER BY garantiza el orden solicitado.
  • Añade una segunda clave cuando pueda haber empates.
  • LIMIT y OFFSET se aplican al resultado ya ordenado; su sintaxis no es universal.

A continuación: Continúa con Evita duplicados con DISTINCT.

Cuando el orden dependa de una regla especial, continúa con NULLS FIRST/LAST y ORDER BY CASE.

Conceptos relacionados