如何从表中抽取 10% 的数据?

Viv*_*rma -1 sql snowflake-schema snowflake-cloud-data-platform

如何从 Snowflake 中的表返回 10% 的行。例如,如何在对表进行排序后返回第 10、20、30 行。

Luk*_*zda 5

使用 QUALIFY 和模除法:

SELECT *
FROM tab
QUALIFY ROW_NUMBER() OVER(ORDER BY some_column) % 10 = 0;
Run Code Online (Sandbox Code Playgroud)

  • (+1) 卢卡斯好样的!我不知道“QUALIFY” - 它只是语法糖以避免我的答案中的子查询方法,还是在幕后有更多的事情发生(如果是的话,它是否更有效?) (2认同)