postgresql之分页limit查询sql

PostgreSQL 中的 limit 子句用于限制 SELECT 语句中查询的数据的数量。

1.LIMIT 子句的 SELECT 语句

1)sql格式

SELECT * FROM "TB01" LIMIT [no of rows]

2)sql测试

表内容:
在这里插入图片描述
执行sql:

select * from  class_name LIMIT 3;

运行结果:
在这里插入图片描述

2. LIMIT 子句与 OFFSET 子句一起使用

1)sql格式

SELECT * FROM table_name
LIMIT [pageSize] OFFSET [pageNum]
-- pageSize:每页显示条数
-- pageNum:从第几条开始查询 

2)sql测试

表内容:
同上

执行sql(sql中注释解释了分页逻辑):

--SELECT * FROM table_name LIMIT [pageSize] OFFSET [pageNum]
-- pageSize:每页显示条数
-- pageNum:从第几条开始查询
--   - pageNum= (pageSize-1)*页数

--第一页 pageSize:3   pageNum:(1-1)*3=0
select * from  class_name LIMIT 3 OFFSET 0;
--第二页 pageSize:3   pageNum:(2-1)*3=3
select * from  class_name LIMIT 3 OFFSET 3;
--第三页 pageSize:3   pageNum:(3-1)*3=6
select * from  class_name LIMIT 3 OFFSET 6;
-- 。。。。。。。。。。。。。。。。。。。。。。。。。

运行结果:
结果1
在这里插入图片描述
结果2
在这里插入图片描述
结果3
在这里插入图片描述

如需要表结构和测试数据,直接复制下面的数据即可。

表结构

CREATE TABLE "public"."class_name" (
  "id" int4 NOT NULL DEFAULT nextval('id'::regclass),
  "class_no" varchar(50) COLLATE "pg_catalog"."default",
  "name" varchar(255) COLLATE "pg_catalog"."default",
  "age" int4,
  CONSTRAINT "class_name_pkey" PRIMARY KEY ("id")
)
;

ALTER TABLE "public"."class_name" 
  OWNER TO "postgres";

数据:

INSERT INTO "public"."class_name"("id", "class_no", "name", "age") VALUES (1, '1', '二哈', 2);
INSERT INTO "public"."class_name"("id", "class_no", "name", "age") VALUES (2, '1', '金毛', 3);
INSERT INTO "public"."class_name"("id", "class_no", "name", "age") VALUES (3, '1', '拉布', 4);
INSERT INTO "public"."class_name"("id", "class_no", "name", "age") VALUES (4, '2', '折耳', 5);
INSERT INTO "public"."class_name"("id", "class_no", "name", "age") VALUES (5, '2', '波斯', 5);
INSERT INTO "public"."class_name"("id", "class_no", "name", "age") VALUES (6, '3', '杰克', 6);
INSERT INTO "public"."class_name"("id", "class_no", "name", "age") VALUES (7, '3', '肉丝', 33);
INSERT INTO "public"."class_name"("id", "class_no", "name", "age") VALUES (8, '3', '杰克', 7);

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐