如何解决Azure Synapse SQL按需分页OFFSET / FETCH 更新更新 TOP偏移量+提取 ROW_NUMBER窗口
我们有Azure数据湖-数据以镶木地板文件格式存储。我们正在尝试使用Azure Synapse sql-on Demand从镶木地板文件中获取数据。
我们正在寻找的是-在获取数据时进行分页。因此,如果有10,000条符合条件的记录,我们只想在UI上返回100行,然后再返回100行,依此类推。 在SQL查询中,可以使用OFFSET / FETCH。
如何对sql按需查询执行此操作?这是我们的按需SQL查询示例。
SELECT * FROM
OPENROWSET
(
BULK '*.parquet',FORMAT='PARQUET'
)
AS rows
解决方法
目前,SQL点播不支持document中的偏移/获取。如今,突触工作区中没有可用的功能来进行分页。
,更新
OFFSET
/ FETCH
现在为officially supported by SQL OD,还有其他一些功能。
更新
只需尝试使用OFFSET
和FETCH
执行openrowset-现在就可以使用。
如this blog post中所述,SQL OD当前不支持OFFSET
/ FETCH
,但是有一些解决方法。
TOP偏移量+提取
SELECT *
FROM (
SELECT TOP (@fetch) *
FROM
(SELECT TOP(@offset+@fetch) *
FROM dbo.Supplier
ORDER BY S_SUPPKEY ASC
) AS topFO
ORDER BY S_SUPPKEY DESC
) AS bottomF
ORDER BY S_SUPPKEY ASC
ROW_NUMBER窗口
SELECT TOP (@fetch) *
FROM
( SELECT ROW_NUMBER() OVER(ORDER BY S_SUPPKEY) AS RowNum,*
FROM dbo.Supplier AS tr) AS data
WHERE @offset < RowNum
ORDER BY data.S_SUPPKEY
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。