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

  • 内蒙古旅游穿衣攻略
  • 如何翻新柚木地板
  • 红眼病有什么症状?
  • 乳腺小叶增生肿块痛怎么治
  • 白色翅膀鸡尾酒如何调制
  • 热门搜索
    糊里糊涂的近义词 不可一世的近义词 恐吓的近义词 猝死怎么读 风寒感冒吃什么 总是心慌是怎么回事 文件夹怎么隐藏 苹果4s怎么下载软件 建川博物馆 蒙恬怎么死的