Cláusula LIMIT de PostgreSQL

En PostgreSQL, lalimitcláusula se utiliza para limitar la cantidad de datos consultados en una sentencia SELECT.

Sintaxis

La sintaxis básica de una sentencia SELECT con la cláusula LIMIT es la siguiente:

SELECT column1, column2, columnN
FROM table_name
LIMIT [no of rows]

A continuación se muestra la sintaxis cuando la cláusula LIMIT se usa junto con la cláusula OFFSET:

SELECT column1, column2, columnN 
FROM table_name
LIMIT [no of rows] OFFSET [row num]

Ejemplo

Crear la tabla COMPANY (Descargar el archivo SQL de COMPANY), el contenido de los datos es el siguiente:

ejemplodb# select * from COMPANY;
 id | name  | age | address   | salary
----+-------+-----+-----------+--------
  1 | Paul  |  32 | California|  20000
  2 | Allen |  25 | Texas     |  15000
  3 | Teddy |  23 | Norway    |  20000
  4 | Mark  |  25 | Rich-Mond |  65000
  5 | David |  27 | Texas     |  85000
  6 | Kim   |  22 | South-Hall|  45000
  7 | James |  24 | Houston   |  10000
(7 rows)

El siguiente ejemplo encontrará una cantidad limitada de datos, es decir, leerá 4 registros:

ejemplodb=# SELECT * FROM COMPANY LIMIT 4;

Se obtiene el siguiente resultado:

 id | name  | age | address     | salary
----+-------+-----+-------------+--------
  1 | Paul  |  32 | California  |  20000
  2 | Allen |  25 | Texas       |  15000
  3 | Teddy |  23 | Norway      |  20000
  4 | Mark  |  25 | Rich-Mond   |  65000
(4 rows)

Sin embargo, en algunos casos, puede ser necesario extraer registros comenzando desde un desplazamiento específico.

A continuación se muestra un ejemplo que extrae 3 registros comenzando desde la tercera posición:

ejemplodb=# SELECT * FROM COMPANY LIMIT 3 OFFSET 2;

Se obtiene el siguiente resultado:

 id | name  | age | address   | salary
----+-------+-----+-----------+--------
  3 | Teddy |  23 | Norway    |  20000
  4 | Mark  |  25 | Rich-Mond |  65000
  5 | David |  27 | Texas     |  85000
(3 rows)
Otras extensiones