获取Postgresql中的第N行

enxuqcxy  于 2023-03-08  发布在  PostgreSQL
关注(0)|答案(4)|浏览(150)

在MySQL中我可以执行SELECT * FROM tbl LIMIT 10
在MSSQL中,我可以执行SELECT TOP 5 * FROM tbl
如何在Postgresql中实现这一点?

vkc1a9a2

vkc1a9a21#

请参见LIMIT clause

SELECT * FROM tbl LIMIT 10

SELECT * FROM tbl OFFSET 20

当然

SELECT * FROM tbl LIMIT 10 OFFSET 10
tkclm6bt

tkclm6bt2#

来自PostgreSQL文档:

SELECT select_list
  FROM table_expression
  [ ORDER BY ... ]
  [ LIMIT { number | ALL } ] [ OFFSET number ]

因此LIMIT应该像MySQL中那样工作。OFFSET用于在开始返回数据之前跳过行。
参见docs for LIMIT and OFFSET
希望这能帮上忙。

7xzttuei

7xzttuei3#

你引用的MySQL语法应该也能很好地用于Postgresql,不是吗?

polhcujo

polhcujo4#

限制:您希望查看多少行?
偏移量:您希望从顶部跳过多少行?
例如,我们希望查看我的表中的第9行记录。查询将是:

select first_name from person order by first_name desc limit 1 offset 8;

[we我只想查看第9个人的名字][1]
输出图片:https://i.stack.imgur.com/V5IBz.png

相关问题