首页/数据/SQL 速查/NTILE 分桶
本包目录(311 条)
查询基础33 条连接与子查询40 条
聚合与窗口函数54 条
函数速查60 条变更与事务52 条性能与执行计划72 条

NTILE 分桶

把分区内行按顺序尽量均匀分成 n 桶(1..n),用于分位、TOP 比例抽样等场景。

SQL 速查数据更新于 2026-10-12

示例

示例
SELECT name, score,
       NTILE(4) OVER (ORDER BY score DESC) AS quartile
FROM exams;
分桶不整除时前面的桶多一行
编号从 1 到 n
用途四分位、分层抽样、性能分档

易错点

  • NTILE 按行数分桶而不是按值区间,重复值可能被分到不同桶
  • 桶数大于行数时前面若干桶各 1 行、其余为空桶,注意处理

数据来源与参考

  • MySQL 8.0 Reference Manual · NTILE
  • PostgreSQL Documentation · Window Functions
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌