暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

华为GaussDB T LIMIT子句

墨天轮 2019-10-12
805

LIMIT子句

LIMIT子句允许限制查询返回的行。 可以指定偏移量,以及要返回的行数或行百分比。 可以使用此子句实现top-N报表。要获得一致的结果,请指定ORDER BY子句以确保确定性排序顺序。

语法格式

[ LIMIT [ start, ] count | LIMIT count OFFSET start | OFFSET start[ LIMIT count ] ]

使用方法

  • start:指定在返回行之前要跳过的行数。
  • count:指定要返回的最大行数。

start和count都被指定时,在开始计算要返回的count行之前会跳过start行。例如下方示例1。

start在count之后指定时,可以通过OFFSET关键字实现。例如下方示例2。也就是说LIMIT 5,20LIMIT 20 OFFSET 5OFFSET 5 LIMIT 20等效。

示例

先不使用LIMIT子句进行查询,与使用LIMIT子句进行查询的结果进行对比。查询获得奖金超过7000的员工信息。
--删除表bonuses_depa1。 DROP TABLE IF EXISTS bonuses_depa1;
--创建表bonuses_depa1。 CREATE TABLE bonuses_depa1(staff_id INT NOT NULL, staff_name CHAR(50), job VARCHAR(30), bonus NUMBER);
--向表bonuses_depa1中插入数据。 INSERT INTO bonuses_depa1(staff_id, staff_name, job, bonus) VALUES(23,'wangxia','developer',5000); --向表bonuses_depa1中插入数据。 INSERT INTO bonuses_depa1(staff_id, staff_name, job, bonus) VALUES(24,'limingying','tester',7000); --向表bonuses_depa1中插入数据。 INSERT INTO bonuses_depa1(staff_id, staff_name, job, bonus) VALUES(25,'liulili','quality control',8000); --向表bonuses_depa1中插入数据。 INSERT INTO bonuses_depa1(staff_id, staff_name, job, bonus) VALUES(29,'liuxue','tester',8000); --向表bonuses_depa1中插入数据。 INSERT INTO bonuses_depa1(staff_id, staff_name, job, bonus) VALUES(21,'caoming','document developer',11000); --向表bonuses_depa1中插入数据。 INSERT INTO bonuses_depa1(staff_id, staff_name, job, bonus) VALUES(27,'caoqing','tester',7400); --向表bonuses_depa1中插入数据。 INSERT INTO bonuses_depa1(staff_id, staff_name, job, bonus) VALUES(28,'caochun','tester',7300); --提交。 COMMIT;
--查询获得奖金超过7000的员工信息。 SELECT staff_name, job, bonus FROM bonuses_depa1 WHERE bonus > 7000; STAFF_NAME JOB BONUS -------------------------------------------------- ------------------------------ ---------------------------------------- liulili quality control 8000 liuxue tester 8000 caoming document developer 11000 caoqing tester 7400 caochun tester 7300 5 rows fetched.
--查询获得奖金超过7000的员工信息。通过增加LIMIT 2,2限定查询时跳过前2行后,查询总共2行数据。 SELECT staff_name, job, bonus FROM bonuses_depa1 WHERE bonus > 7000 LIMIT 2,2; STAFF_NAME JOB BONUS -------------------------------------------------- ------------------------------ ---------------------------------------- caoming document developer 11000 caoqing tester 7400 2 rows fetched.
--查询获得奖金超过7000的员工信息。通过增加LIMIT 2 OFFSET 2限定查询时跳过前2行后,查询总共2行数据,与使用LIMIT 2,2限定查询返回结果等效。 SELECT staff_name, job, bonus FROM bonuses_depa1 WHERE bonus > 7000 LIMIT 2 OFFSET 2; STAFF_NAME JOB BONUS -------------------------------------------------- ------------------------------ ---------------------------------------- caoming document developer 11000 caoqing tester 7400 2 rows fetched.
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论