我有一张直方图类型数据的表格。有 2 列:Bucket、Count。
Bucket 是直方图存储桶,Count 是该存储桶中值的数量。
现在我的存储桶是有序的,例如,假设存储桶表示完成一项任务所需的分钟数。我们可以有诸如 0-5 分钟、5-10 分钟、10-15 等之类的桶。
我要计算的是哪个桶落在第 XX 个百分位。例如,如果 90% 的任务在 12 分钟内完成,那么我想知道 90% 的任务在 10-15 桶或更少。
例如,假设我有下表:
Bucket | Count
--------------
0 | 10
1 | 15
2 | 5
3 | 15
如果我想计算第 60 个百分位数。会是
(10+15+5+15)*.60 = 27 所以结果将是存储桶 2,因为 60% 的所有条目都在存储桶 2 或更少
有没有办法在 SQL 中计算这个?
谢谢!