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

 时间:2026-02-16 07:25:37

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的高级使用

  • 内蒙古旅游穿衣攻略
  • 如何翻新柚木地板
  • 红眼病有什么症状?
  • 乳腺小叶增生肿块痛怎么治
  • 白色翅膀鸡尾酒如何调制
  • 热门搜索
    莲蓬乳是什么 头痛是什么原因造成的 透明的剑是什么剑 什么粥养胃 皓月当空什么意思 不负韶华只争朝夕是什么意思 风吹草低见牛羊的见是什么意思 少女时代黑海事件是什么 煤气灶什么牌子好 竭尽全力的意思是什么