首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Postgresql中正确使用FETCH FIRST?

如何在Postgresql中正确使用FETCH FIRST?
EN

Stack Overflow用户
提问于 2016-07-20 03:50:09
回答 1查看 19.3K关注 0票数 22

我想知道如何只选择select查询的第一个元素。

似乎很多人使用LIMIT 1只选择第一个,但这似乎不是最好的方法。

我在读Postgresql文档中的SELECT,似乎有一个FETCH语句的选项,但我在网上找不到任何示例,有人能解释一下如何正确使用它吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-20 04:09:22

以下语句是等效的:

代码语言:javascript
运行
复制
SELECT * FROM foo LIMIT 10;

代码语言:javascript
运行
复制
SELECT * FROM foo FETCH FIRST 10 ROWS ONLY;

ROWS可以与ROW互换,这使得抓取1在语法上更加一致。

FETCH FIRST X ROWS ONLY是SQL标准的一部分,而在我的记忆中,LIMIT不是。LIMIT非常流行,而且更简洁,所以postgres也支持它。

编辑以添加:这两个语句只是在语法上不同。它们生成完全相同的计划:

代码语言:javascript
运行
复制
=# explain select * from foo fetch first 10 row only;
                         QUERY PLAN                          
-------------------------------------------------------------
 Limit  (cost=0.00..0.22 rows=10 width=68)
   ->  Seq Scan on foo  (cost=0.00..18.50 rows=850 width=68)

=# explain select * from foo limit 10;
                         QUERY PLAN                          
-------------------------------------------------------------
 Limit  (cost=0.00..0.22 rows=10 width=68)
   ->  Seq Scan on foo  (cost=0.00..18.50 rows=850 width=68)
票数 37
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38467298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档