PostgreSQL – LIMIT Clause

The PostgreSQL LIMIT clause is used to limit the data amount returned by the SELECT statement.

Syntax

The basic syntax of SELECT statement with LIMIT clause is as follows −

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

The following is the syntax of LIMIT clause when it is used along with OFFSET clause −

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

LIMIT and OFFSET allow you to retrieve just a portion of the rows that are generated by the rest of the query.

Example

Consider the table COMPANY having records as follows −

# 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)

The following is an example, which limits the row in the table according to the number of rows you want to fetch from table −

testdb=# SELECT * FROM COMPANY LIMIT 4;

This would produce the following result −

 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)

However, in certain situation, you may need to pick up a set of records from a particular offset. Here is an example, which picks up three records starting from the third position −

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

This would produce the following result −

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

Leave a Reply