Ir al contenido principal
Documentos
Funciones de cadenaDesencadenaBases de datosFunciones JSONFunciones matemáticasFunciones de fechaÍndicesSintaxis básicaGestión de Tablas y Esquemas

PostgreSQL LIMIT

La cláusula `LIMIT` de PostgreSQL se utiliza para limitar el número de filas devueltas por una consulta. Es especialmente útil para paginar resultados o recuperar un subconjunto de datos.

Utilización

La cláusula `LIMIT` se aplica para controlar el número máximo de filas devueltas por una consulta SQL. Se suele utilizar junto con `ORDENAR POR` para recuperar las N primeras filas de un conjunto de resultados.

SELECT column1, column2, ...
FROM table_name
[ORDER BY column_name] 
LIMIT number_of_rows;

En esta sintaxis, `LIMIT número_de_filas` especifica el número máximo de filas a devolver.

Ejemplos

1. Límite básico

SELECT * 
FROM products
LIMIT 5;

Este ejemplo recupera las 5 primeras filas de la tabla `productos`.

2. Límite con Orden

SELECT name, price
FROM products
ORDER BY price DESC
LIMIT 3;

Esta consulta devuelve los 3 productos más caros ordenando los resultados en orden descendente del precio.

3. Límite con Desplazamiento

SELECT order_id, customer_name
FROM orders
ORDER BY order_date
LIMIT 10 OFFSET 10;

Esta consulta obtiene 10 filas a partir de la fila 11, útil para la paginación cuando se combina con `ORDENAR POR`.

Consejos y buenas prácticas

  • Utilízalo con ORDENAR POR. Empareja siempre `LIMIT` con `ORDER BY` para garantizar resultados coherentes, especialmente cuando la tabla no tiene clave primaria ni identificador único.
  • Considera la paginación. Utiliza `LIMIT` junto con `OFFSET` para recuperar datos paginados. Ten en cuenta que utilizar desplazamientos grandes puede afectar al rendimiento, ya que PostgreSQL debe escanear las filas para llegar al desplazamiento especificado.
  • Optimiza el rendimiento. Ten en cuenta las implicaciones para el rendimiento cuando utilices `LIMIT` en grandes conjuntos de datos; considera la posibilidad de utilizar índices. Para grandes desplazamientos, explora las técnicas de optimización de consultas.
  • Combínalo con restricciones. Utiliza `LIMIT` con `WHERE` para refinar aún más el conjunto de datos antes de limitar el resultado.
  • Explora alternativas. Considera la posibilidad de utilizar la cláusula `FETCH FIRST` como alternativa a `LIMIT`, sobre todo si estás más familiarizado con las normas SQL.
  • Comprende los casos límite. Si pones "LÍMITE" a cero, obtendrás un conjunto de resultados vacío. Utilizar un número negativo para `LÍMITE` no es válido y provocará un error.