【发布时间】:2022-09-28 02:24:50
【问题描述】:
我需要使用表中的 SQL 将表中的用户随机抽样到 4 个相等的组中。为此,我做了以下事情:
- 首先,使用 RANDOM() 函数将表中的所有用户随机化,然后使用它的结果与 NTILE() 函数将它们分成 4 个相等的两半,如下所示:
WITH randomised_users AS (
SELECT *
FROM users_table
ORDER BY RANDOM()
) SELECT *,
ntile(4) OVER(ORDER BY (SELECT 1)) AS tile_nr
FROM randomised_users
这种抽样方法是正确的,还是在由此创建的 4 个组中存在偏差?
标签: sql snowflake-cloud-data-platform