sql - “FETCH FIRST”之前/之后“OFFSET”的区别
问题描述
运行以下 2 个查询(在 postgres 中)返回相同的结果,但我到处都看到方法 1 始终是首选。
这两个查询有什么区别吗?(除了句法差异)。
1)
SELECT * FROM table_name
OFFSET 5 ROWS
FETCH FIRST 5 ROWS ONLY;
2)
SELECT * FROM table_name
FETCH FIRST 5 ROWS ONLY
OFFSET 5 ROWS;
解决方案
在 PostgreSQL 中,这两个语句没有区别。然而,SQL:2008 标准将子句放在offset
子句之前fetch
,因此这将是首选形式,以使您的代码尽可能可移植。
推荐阅读
- html - 在 Bootstrap 中删除填充/边距
- python - Matplotlib - 图相互堆叠
- swift - Swift4滚动UITableview后,动画UITableview框架是错误的
- spring-boot - 骆驼 springboot 和 hawtio 集成
- google-analytics - 要在更多设置中设置的 Google 跟踪代码管理器字段?
- php - 提交表单后未显示成功消息
- docker - 创建 dokcer 映像以挂载 nfs 服务器时无法启动 rcpbind
- list - Haskell 中映射函数的 Lambda 演算等效项是什么?
- php - 如何通过PHP将一列json对象拆分为更多列
- javascript - 为什么过滤函数返回空数组?