我snowflake
用来尝试基于两列存储行,如果该存储桶大小大于 1,那么我需要一些新列的值为 1,否则我会将其设置为 0。NTILE()
除了我需要这是动态的。
我的表如下所示:
ARTICLE_ID USER_ID COUNTRY_NAME NUM_COUNTRIES NUM_AUTHORS
------------------------------------------------------------------------
30522143 ecf330d Singapore 1 4
30522143 86b0faa Singapore 1 4
30522143 d331b33 Singapore 1 4
30522143 d331b33 Singapore 1 4
------------------------------------------------------------------------
30522139 1d08cfd United States 2 3
30522139 ec9c065 Canada 2 3
30522139 a750bff United States 2 3
------------------------------------------------------------------------
23410385 1d08cfd United States 3 3
23410385 ec9c065 Mexico 3 3
23410385 a41b19c France 3 3
------------------------------------------------------------------------
30285132 d331b33 Chile 2 4
30285132 1d08cf2 Peru 2 4
30285132 a750bff Chile 2 4
30285132 d742bb5 Peru 2 4
------------------------------------------------------------------------
...
ARTICLE_ID
那时我需要存储的两列是COUNTRY_NAME
. 查看上表,如果我们取ARTICLE_ID
30522143
,我们将有1
bucket of,4
USER_ID
因为它们都是,Singapore
那么 valueHAS_REPEATED_COUNTRY
将是 1。
在这种情况下,ARTICLE_ID
30522139
我们将有两个子存储桶,一个用于United States
包含2
USER_ID
s,另一个子存储桶(Canada)
包含1
USER_ID
这将导致所有与关联的用户United States
具有值,1
并且与关联的唯一成员Canada
具有值0
in HAS_REPEATED_COUNTRY
。
因此该表将类似于:
ARTICLE_ID USER_ID COUNTRY_NAME NUM_COUNTRIES NUM_AUTHORS HAS_REPEATED_COUNTRY
------------------------------------------------------------------------------------------------
30522143 ecf330d Singapore 1 4 1
30522143 86b0faa Singapore 1 4 1
30522143 d331b33 Singapore 1 4 1
30522143 d331b33 Singapore 1 4 1
------------------------------------------------------------------------------------------------
30522139 1d08cfd United States 2 3 1
30522139 ec9c065 Canada 2 3 0
30522139 a750bff United States 2 3 1
------------------------------------------------------------------------------------------------
23410385 1d08cfd United States 3 3 0
23410385 ec9c065 Mexico 3 3 0
23410385 a41b19c France 3 3 0
------------------------------------------------------------------------------------------------
30285132 d331b33 Chile 2 4 1
30285132 1d08cf2 Peru 2 4 1
30285132 a750bff Chile 2 4 1
30285132 d742bb5 Peru 2 4 1
------------------------------------------------------------------------------------------------
...
有没有办法从前者产生后者的表?