4

在 mysql 中,如果我必须一次读取 10 行,我可以将查询写为

select * from foo limit 10, 10

然后我可以继续增加偏移量并读取整个表格。

我如何在雪花中做同样的事情?

我试过

select a, b from (select a, b from foo) tempview where rownum <= 100;

但这不起作用。

4

1 回答 1

4

Snowflake 支持与 MySQL 非常相似的语法,您只需编写

select * from foo limit 10 offset 10;

查看 LIMIT的Snowflake 文档以获取更多详细信息和选项。

注意 - 如果您想像这样扫描表,对于大型表,它可能并不总是最有效的方法,因为您会看到每个查询都有一些开销。在客户端中迭代结果可能是一个更好的选择。

最后,如果您想迭代复杂查询的结果,并且LIMIT出于某种原因确实想使用该方法,则可以运行查询,然后使用RESULT_SCAN迭代结果。这样您就不会多次重新运行查询。

于 2016-12-14T17:18:16.900 回答