更新时间:2024-06-03 GMT+08:00

分页查询

语法如下:

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

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

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

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

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