SQL 中 ntile 函数如何划分样本集?
sql 中 ntile 函数的样本划分规则
ntile 函数用于将数据样本集均匀地划分为指定数量的组。在给定的示例中,我们对其行为进行了解:
select salary, ntile(10) over( order by salary desc) from salaries where salary >= 150000
这个查询将 36 个样本划分为 10 等份,然而,某些组包含 4 个样本,而另一些组仅包含 3 个样本。
经过反复实验,我们得出了以下划分规则:
当样本总数 n 不能被分组数 g 整除时,ntile 函数会选择小于n的最大能被g整除的数字进行分组。
在示例中,36 不能被 10 整除,因此 ntile 函数选择了小于 36 的最大能被 10 整除的数字 30 进行分组。因此,每组最初包含 3 个样本。
之后,ntile 函数从前往后逐个组补充 1 个样本,直至样本总数达到 36。
以上就是SQL 中 ntile 函数如何划分样本集?的详细内容,更多请关注www.sxiaw.com其它相关文章!