更新时间:2025-09-11 GMT+08:00
分享

分页查询

语法如下:

SELECT query_list FROM table_name [ LIMIT { [offset,] count | ALL } ]
  • offset :表示从第几行向后开始。
  • count:表示向后查询几条数据。
  • ALL:表示向后查询所有的数据。
-- 建表并插入100条数据。
m_db=# CREATE TABLE testl(id int PRIMARY KEY, flag varchar(10));
m_db=# INSERT INTO testl (id, flag) VALUES (generate_series(1,100),generate_series(1,100));

-- 查询前5条数据。
m_db=# SELECT * FROM testl ORDER BY 1  LIMIT 5;
 id | flag  
----+-------
  1 | 1
  2 | 2
  3 | 3
  4 | 4
  5 | 5
(5 rows)

-- 从第20条向后查询4条数据。
m_db=# SELECT * FROM testl ORDER BY 1 LIMIT 20,4;
 id |  flag  
----+--------
 21 | 21
 22 | 22
 23 | 23
 24 | 24
(4 rows)

-- 从第96条向后查询出所有数据。
m_db=# SELECT * FROM testl ORDER BY 1 LIMIT 96,ALL;
 id  |  flag   
-----+---------
  97 | 97
  98 | 98
  99 | 99
 100 | 100
(4 rows)

-- 删除。
m_db=# DROP TABLE testl;

相关文档