[GBase 8s 教程]GBase 8s 分页语法
程序员文章站
2022-07-01 07:52:39
...
GBase 8s 中支持使用SKIP m FIRST/LIMIT n 选项,或者使用TOP m,n 选项来限制SELECT语句中查询的数据的数量。
注:两者不可同时使用。
语法
带有SKIP m FIRST/LIMIT n 选项的 SELECT 语句的基本语法如下:
SELECT SKIP m FIRST n column1, column2, columnN
FROM table_name
带有TOP m,n 选项的 SELECT 语句的基本语法如下:
SELECT TOP m,n column1, column2, columnN
FROM table_name
实例
创建 COMPANY 表,导入测试数据
DROP TABLE IF EXISTS COMPANY;
CREATE TABLE COMPANY(
ID SERIAL PRIMARY KEY,
NAME VARCHAR(40) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY DECIMAL(10,2),
JOIN_DATE DATE DEFAULT TODAY
);
INSERT INTO COMPANY VALUES (0, '李雷', 37, '北京', 20000.00,'2005-05-13');
INSERT INTO COMPANY VALUES (0, '韩梅梅', 35, '天津', 16000.00, '2007-12-18');
INSERT INTO COMPANY VALUES (0, '林涛', 36, '上海', 25000.00, '2006-01-04');
INSERT INTO COMPANY VALUES (0, '魏华', 36, '西安', 15000.00, '2007-08-30');
INSERT INTO COMPANY VALUES (0, '露茜', 34, '伦敦', 22000.00, '2008-08-08');
INSERT INTO COMPANY VALUES (0, '莉莉', 34, '伦敦', 22000.00, '2008-08-08');
INSERT INTO COMPANY VALUES (0, '吉姆', 35, '华盛顿', 16000.00, '2010-12-13');
INSERT INTO COMPANY VALUES (0, '汤姆', 36, '渥太华', 21000.00, '2010-04-30');
数据内容如下:
> select id,name,age,salary from company;
id name age salary
1 李雷 37 20000.00
2 韩梅梅 35 16000.00
3 林涛 36 25000.00
4 魏华 36 15000.00
5 露茜 34 22000.00
6 莉莉 34 22000.00
7 吉姆 35 16000.00
8 汤姆 36 21000.00
8 row(s) retrieved.
下面实例将找出限定的数量的数据,即读取 4 条数据:
> select first 4 id,name,age,salary from company;
id name age salary
1 李雷 37 20000.00
2 韩梅梅 35 16000.00
3 林涛 36 25000.00
4 魏华 36 15000.00
4 row(s) retrieved.
或者
> select top 4 id,name,age,salary from company;
id name age salary
1 李雷 37 20000.00
2 韩梅梅 35 16000.00
3 林涛 36 25000.00
4 魏华 36 15000.00
4 row(s) retrieved.
但是,在某些情况下,可能需要从一个特定的偏移开始提取记录。
下面是一个实例,从第三位开始提取 3 个记录:
> select skip 2 first 3 id,name,age,salary from company;
id name age salary
3 林涛 36 25000.00
4 魏华 36 15000.00
5 露茜 34 22000.00
3 row(s) retrieved.
或者
> select top 2,3 id,name,age,salary from company;
id name age salary
3 林涛 36 25000.00
4 魏华 36 15000.00
5 露茜 34 22000.00
3 row(s) retrieved.