MSSQL中排名函数NTILE的高级使用

2025-10-16 03:44:27

1、先看下面的查询,从中可以发现,其实NTILE的值与公式[(N * (ROW_NUMBER() - 1) / COUNT(*)) + 1]计算得到的值是一致的。

MSSQL中排名函数NTILE的高级使用

MSSQL中排名函数NTILE的高级使用

1、由于NTILE中的参数无法根据分区动态获取。

可能可以,不过作者没有写出来。

参数说明:

integer_expression 只能引用 PARTITION BY 子句中的列。integer_expression 不能引用在当前 FROM 子句中列出的列。

2、创建取分区分组的方法。通过班级来获取。

 CAST((CEILING(COUNT(1)*1.0/3)) AS INT)将总人数/每队人数,使用进位取整。

MSSQL中排名函数NTILE的高级使用

3、查询如下

关于CROSS APPLY的用法,在后续经验中介绍。

MSSQL中排名函数NTILE的高级使用

MSSQL中排名函数NTILE的高级使用

1、上面分析了NTILE的计算方法,只需将公式[(N * (ROW_NUMBER() - 1) / COUNT(*)) + 1]中的N参数修改即可。

MSSQL中排名函数NTILE的高级使用

2、查询结果与上面的一致

1、感谢你把本经验阅读完,如果有写的不好的地方,请指出以便纠正,以免误人子弟。

如果觉得本经验有用,浪费你几秒钟的时间在页面左下方点个赞。在页面顶部/经验底部投个票。

MSSQL中排名函数NTILE的高级使用

MSSQL中排名函数NTILE的高级使用

MSSQL中排名函数NTILE的高级使用

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢