percent_rank() 分析函数 return 是否正确输出分区中的行

Does percent_rank() analytic function return correct output for rows in partition

考虑以下基于 MonetDB 提供的示例 VOC 数据集的查询。我正在尝试按行程在分区上找到 percent_rank()。

SELECT number, trip, tonnage, departure_Date, arrival_date,
RANK() OVER ( PARTITION BY trip ORDER BY tonnage ) AS RankAggregation,
PERCENT_RANK() OVER ( PARTITION BY trip ORDER BY tonnage ) as PercentRankGroup
FROM voyages WHERE particulars LIKE '%_recked%';

理想情况下,percent_rank() over partition 理想情况下应计算为 (rank() - 1) / (rows in partition - 1)。但是根据上述查询输出的观察,这被计算为 (rank() - 1) / (total rows - 1) 这导致分区 [PercentRankGroup 列的输出不正确在上面的查询中。

如果查询不正确,任何人都可以指出我。有没有其他方法可以计算相同的值(我们可以直接使用 rank() 和 count() over)。

谢谢。

这是一个错误,我刚刚修复了它。感谢报告。