php中文网

SQL 中 ntile 函数如何划分样本集?

php中文网

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中文网其它相关文章!