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 函数如何划分样本集?的详细内容,更多请关注php中文网其它相关文章!
版权声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系 yyfuon@163.com