78

什么相当于PostgreSQL 中TOP的 SQL Server 或 DB2FETCH FIRST或 mySQL LIMIT

4

5 回答 5

123

您可以像在 MySQL 中一样使用LIMIT,例如:

SELECT * FROM users LIMIT 5;
于 2009-07-15T20:50:13.163 回答
28

您始终可以将OFFSET子句与子句一起添加LIMIT

您可能需要从特定偏移量中提取一组记录。这是一个从第 3 个位置开始选取 3 条记录的示例:

testdb=# SELECT * FROM COMPANY LIMIT 3 OFFSET 2;

这将产生以下结果:

 id | name  | age | address   | salary
----+-------+-----+-----------+--------
  3 | Teddy |  23 | Norway    |  20000
  4 | Mark  |  25 | Rich-Mond |  65000
  5 | David |  27 | Texas     |  85000

完整的解释和更多的例子检查这里

于 2016-06-03T17:51:00.493 回答
13

在 PostgreSQL 上,有两种方法可以实现这一目标。

SQL 标准

第一个选项是使用 SQL:2008 标准方法来限制结果集,使用以下FETCH FIRST N ROWS ONLY语法:

SELECT
    title
FROM
    post
ORDER BY
    id DESC
FETCH FIRST 50 ROWS ONLY

自 PostgreSQL 8.4 起支持 SQL:2008 标准语法。

PostgreSQL 8.3 或更早版本

对于 PostgreSQL 8.3 或更早的版本,您需要 LIMIT 子句来限制结果集大小:

SELECT
    title
FROM
    post
ORDER BY
    id DESC
LIMIT 50
于 2019-08-13T20:00:08.517 回答
7

使用LIMIT从句或FETCH FIRST 10 ROWS

于 2009-07-15T20:51:20.557 回答
5

除了限制之外,您还可以使用 Fetch First。你的问题已经有了答案

Select * from users FETCH FIRST 5 ROWS ONLY
于 2016-06-17T07:19:45.867 回答