我试图找出如何只 Select select查询的第一个元素.

似乎很多人使用限制1只 Select 第一个,但这似乎不是最好的方法.

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

推荐答案

以下陈述是等效的:

SELECT * FROM foo LIMIT 10;

SELECT * FROM foo FETCH FIRST 10 ROWS ONLY;

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

FETCH FIRST X ROWS ONLY is part of the SQL st和ard, while, to my recollection, LIMIT is not. LIMIT is very popular, 和 much more terse, so it is also supported by postgres.

Edited to add:这两种说法只是在语法上有所不同.它们产生了完全相同的计划:

=# 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)

Postgresql相关问答推荐

Qt,PostgreSQL -从NUERIC列检索max int64_t/uint64_t值

如何在Postgres中对分区表使用Hibernate验证?

supabase 中的交易

正在加载 pgAdmin 4 v7.4...同时打开 pgAdmin

合并两个字典并创建一个包含更新凭据的字典列表

在 SQL 上返回负值

pgadmin db 限制服务器属性不起作用

Postgres 唯一 JSON 数组聚合值

Postgresql:创建默认表空间的视图和使用?

安装 pg gem 失败,mkmf.rb 找不到 ruby​​ 的头文件(Mac OSX 10.6.5)

Postgresql:在插入列时(或之前)自动小写文本

如何为 postgres 连接设置 application_name?

如何将主键添加到视图?

PostgreSQL:将结果数据从 SQL 查询导出到 Excel/CSV

如何缩小 pg_toast 表?

PostgreSQL:从转储中恢复数据库 - 语法错误

从 5 分钟前的表中获取行

Postgres DB 上的整数超出范围

Django 中的唯一模型字段和区分大小写(postgres)

PostgreSQL:如何解决numeric field overflow问题