PostgreSQL LIMIT 子句

Posted 瀚高PG实验室

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PostgreSQL LIMIT 子句相关的知识,希望对你有一定的参考价值。

LIMIT 子句

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

语法

带有 LIMIT 子句的 SELECT 语句的基本语法如下:

SELECT column1, column2, columnN
FROM table_name
LIMIT [no of rows]

下面是 LIMIT 子句与 OFFSET 子句一起使用时的语法:

SELECT column1, column2, columnN 
FROM table_name
LIMIT [no of rows] OFFSET [row num]

实例

创建 class表,数据内容如下:

highgo=# select * from class;
 id |   name   | age |  birthday  |  address  | tuition_fee 
----+----------+-----+------------+-----------+-------------
  1 | xiaoming |  18 | 2004-01-10 | jinan     |     5000.00
  2 | xiaohong |  19 | 2003-08-20 | liaocheng |     5000.00
  3 | xiaoli   |  18 | 2004-05-08 | taian     |     6000.00
  4 | xiaozhao |  19 | 2003-09-18 | jinan     |     6000.00
  5 | xiaowang |  18 | 2004-01-18 | jinan     |     6000.00
(5 rows)

下面实例将找出限定的数量的数据,即读取 4 条数据:

highgo=# select * from class LIMIT 4;

得到以下结果:

 id |   name   | age |  birthday  |  address  | tuition_fee 
----+----------+-----+------------+-----------+-------------
  1 | xiaoming |  18 | 2004-01-10 | jinan     |     5000.00
  2 | xiaohong |  19 | 2003-08-20 | liaocheng |     5000.00
  3 | xiaoli   |  18 | 2004-05-08 | taian     |     6000.00
  4 | xiaozhao |  19 | 2003-09-18 | jinan     |     6000.00
(4 rows)

但是,在某些情况下,可能需要从一个特定的偏移开始提取记录。
下面是一个实例,从第二位开始提取 2 个记录:

highgo=# select * from class LIMIT 2 OFFSET 1;

得到以下结果:

 id |   name   | age |  birthday  |  address  | tuition_fee 
----+----------+-----+------------+-----------+-------------
  2 | xiaohong |  19 | 2003-08-20 | liaocheng |     5000.00
  3 | xiaoli   |  18 | 2004-05-08 | taian     |     6000.00
(2 rows)

以上是关于PostgreSQL LIMIT 子句的主要内容,如果未能解决你的问题,请参考以下文章

JPQL 中的 LIMIT 子句替代方案是啥?

postgresql----排序ORDER BY,分组GROUP BY,分页OFFSET&&LIMIT

如何在 LIMIT 子句中应用 bindValue 方法?

如何在 LIMIT 子句中应用 bindValue 方法?

解决方案 兼容 Oracle 和 MySQL for LIMIT 子句

大数据ClickHouse进阶(十五):ClickHouse的LIMIT BY和 LIMIT子句