【发布时间】:2021-08-30 12:26:39
【问题描述】:
我有一张表格
ID | DOC
-------------
id1 | d1
-------------
id1 | d2
-------------
id2 | d3
-------------
id2 | d4
-------------
id3 | d5
-------------
目标是按 ID 对表进行分组,对于每个组,从组数中选择一个随机数(在本例中,从 [1, 3] 中选择一个随机数)并将每个组的所有行分配一个数字。一种可能的配置是
ID | DOC | GROUP_NUM
--------------------------
id1 | d1 | 2
--------------------------
id1 | d2 | 2
--------------------------
id2 | d3 | 1
--------------------------
id2 | d4 | 1
--------------------------
id3 | d5 | 3
--------------------------
我正在考虑使用 ROW_NUMBER() 和 PARTITION() 函数。考虑到 Bigquery 中的表很大,有什么更好的方法?
【问题讨论】:
标签: sql google-bigquery