Tas*_*Tas 3 random-sample google-bigquery
我试图找出在 Big Query 的表中为每个组随机抽取 100 条记录的最佳方法是什么。
例如,我有一个表,其中 A 列是唯一的记录 ID,B 列是该记录所属的组 ID。对于每个不同的 groupID,我想随机抽取 100 个记录 ID。有没有简单的方法来完成这个?
像下面这样的东西应该工作
SELECT recordID, groupID
FROM (
SELECT
recordID, groupID,
RAND() AS rnd, ROW_NUMBER() OVER(PARTITION BY groupID ORDER BY rnd) AS pos
FROM yourTable
)
WHERE pos <= 100
ORDER BY groupID, recordID
Run Code Online (Sandbox Code Playgroud)
如果您想提高随机性,请在此处检查 RAND()
归档时间: |
|
查看次数: |
4196 次 |
最近记录: |