什么相当于PostgreSQL 中TOP
的 SQL Server 或 DB2FETCH FIRST
或 mySQL LIMIT
?
问问题
118308 次
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 回答