diff --git a/src/dsql/WinNodes.cpp b/src/dsql/WinNodes.cpp index 195d481e117..37a50ec9a45 100644 --- a/src/dsql/WinNodes.cpp +++ b/src/dsql/WinNodes.cpp @@ -258,12 +258,12 @@ dsc* PercentRankWinNode::winPass(thread_db* /*tdbb*/, Request* request, SlidingW { impure_value_ex* impureTemp = request->getImpure(tempImpure); - const double partitionSize = window->getPartitionSize(); - const double divisor = (partitionSize - 1) * (impureTemp->vlux_count - 1); + const double dividend = impureTemp->vlux_count - 1; + const double divisor = window->getPartitionSize() - 1; impureTemp->vlu_misc.vlu_double = divisor == 0 ? 0 : - 1 / divisor; + dividend / divisor; return &impureTemp->vlu_desc; }