我试图找出如何只 Select select查询的第一个元素.
似乎很多人使用限制1只 Select 第一个,但这似乎不是最好的方法.
我在阅读Postgresql文档中的SELECT,似乎有一个FETCH语句选项,但我在网上找不到任何示例,有人能给我解释一下如何正确使用它吗?
我试图找出如何只 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)