Kno*_*uch 6 sql snowflake-cloud-data-platform
在mysql中,如果我必须一次读取10行,我可以将查询编写为
select * from foo limit 10, 10
Run Code Online (Sandbox Code Playgroud)
然后我可以继续增加偏移量并读取整个表。
我如何在雪花中做同样的事情?
我试过
select a, b from (select a, b from foo) tempview where rownum <= 100;
Run Code Online (Sandbox Code Playgroud)
但这不起作用。
Snowflake 支持与 MySQL 非常相似的语法,您只需编写
select * from foo limit 10 offset 10;
Run Code Online (Sandbox Code Playgroud)
查看LIMIT 的 Snowflake 文档以了解更多详细信息和选项。
注意 - 如果您想扫描这样的表,对于大型表来说,它可能并不总是最有效的方法,因为您会看到每个查询都有一些开销。在客户端中迭代结果可能是更好的选择。
最后,如果您想迭代复杂查询的结果,并且LIMIT出于某种原因确实想使用该方法,则可以运行查询,然后使用RESULT_SCAN迭代结果。这样您就不会多次重新运行查询。