gpt4 book ai didi

sql - 使用 CROSS JOIN SEQUENCE 生成大型重复表

转载 作者:行者123 更新时间:2023-12-03 05:14:06 27 4
gpt4 key购买 nike

我在 Azure 笔记本(databricks sql)中有以下内容:

CREATE TABLE my_new_big_table AS
SELECT t.*
FROM my_table t
CROSS JOIN VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10) v(i);

这会重复 my_table 10 次,但是我如何使用循环(SEQUENCE、EXPLORE)来创建 100、1000 等迭代?

最佳答案

这是我的示例数据:

enter image description here

使用您的代码,我得到如下输出,其中每行重复 10 次。

enter image description here

要动态执行上述操作,您可以使用 range(start,end),如下所示。

%sql
CREATE TABLE result2 AS
SELECT t.*
FROM sample1 as t
CROSS JOIN (select * from range(0,10)) v(i);
select * from result2;

我的结果:

enter image description here

(或)

按照社区在评论中讨论的那样,将 sequence(start,end)explode() 一起使用。

create table result3 as
SELECT t.*
FROM sample1 as t
CROSS JOIN (select explode(sequence(1,10))) v(i);
select * from result3;

enter image description here

关于sql - 使用 CROSS JOIN SEQUENCE 生成大型重复表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75482981/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com