设置Column以迭代SnowFlake中的一组数字



我花了几天时间试图解决这个问题。我希望雪花表中有一列可以迭代一组数字。我可以用以下代码在OracleSQL中轻松地做到这一点:

alter table <table_name> add col_name numeric(10)
update <table_name> set col_name = mod(rownum,4)

结果是
行1 col_name=1
列2 col_name=2
行3 col_name=3
列4 col_name=4
行5 col_name=1
行将6 col_name=2
行将7 col_name=3
。。。。

我知道雪花不存在罗恩姆。我知道row_number((over(orderby..(在更新语句中不起作用。我不能使用NORMAL、UNIFORM或SEQ。我最接近的是col_name=uniform(1,4,random(((,但这是随机的。我需要订购
干杯!

编写所需的select语句,然后用select替换表,因为这是UPDATE所做的100%,此外,您还可以根据需要排序,使表具有良好的性能。

CREATE OR REPLEACE TABLE foo AS 
SELECT
a,
b,
c,
ROW_NUMBER() OVER (ORDER BY SEQ4()) % 4 AS col_name
FROM foo
ORDER BY your, clustering, keys

最新更新