【发布时间】:2020-11-04 22:36:08
【问题描述】:
我有 2 个结构相同的表:
表1
id text var
1 "bla bla" 100
1 "blabla1" 30
2 "qweweqty" 0
2 etc...
7
3
3
1
..
100
表2
id text var
101 "bla bla" 10
101 "bla1" 60
101 "bla" 5
103 etc...
102
103
102
110
..
200
我想根据 id 从 table1 和 table2 中随机抽取数据。所以基本上,从 table1 的随机 id 样本和从 table2 的随机 id 样本中抽取每个观察值,以便 50 个 id 来自表 1 和 50 个来自表 2 。关于如何在大查询 SQL 上执行此操作的任何想法?
示例如下,我想从 table1 获取 3 个 id,从 table2 获取 3 个 id
从table1中随机选择ids 1,2,3,从table2中选择ids 101,110和103
结果表是:
id. text var
1. .. ..
1
2
2
3
3
1
101
101
101
103
103
110
所以基本上任何来自 table1 的 id 为 1,2,3 的观察和来自 table2 的任何 id 为 101,103,110 的观察都会被选中并放在同一个表中: 所以段落是两个:首先从table1中随机选择一定数量的id,从table2中随机选择一定数量的id,然后我从两个表中选择与这些id对应的任何观察值,并将它们加入同一个表中
【问题讨论】:
-
你能添加一个期望结果的例子吗?
-
我添加了更多细节和一个示例,希望现在清楚
-
@Gordon 的回答似乎很好地解决了您的问题,您看到查询的更新版本了吗?如果仍然不符合您的需求,您能解释一下为什么会这样吗?
标签: sql random group-by google-bigquery sampling