如何将MySQL的“LIMIT”子句转换为PostgreSQL的“LIMIT”子句?

13

一个 MySQL 查询的示例:

    SELECT message_id, message_text
    FROM messages
    LIMIT 0 , 30

我收到了一个错误提示:

HINT: Use separate LIMIT and OFFSET clauses.
1个回答

24

比较MySQL的LIMIT语法:

[LIMIT {[offset,] row_count | row_count OFFSET offset}]

Postgres使用的方式相同:

[LIMIT { number | ALL }] [OFFSET number]

这应该为您提供了足够的信息,让您知道需要用LIMIT 30 OFFSET 0替换LIMIT 0, 30。(请注意后者也是有效的MySQL语法)。


还要注意:"OFFSET 0与省略OFFSET子句相同",因此您也可以使用"LIMIT 30"。 - Tom Gerken
太好了!示例 - select * from public.user limit 20 offset 20 - Meet Zaveri
这就是Stackoverflow的伟大之处:当然,所有内容都在文档中,但如果有人能够将其提取出来并放入一个简洁明了的答案中,那就容易多了 :-) - kasimir

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接