diff --git a/source/libs/function/src/builtinsimpl.c b/source/libs/function/src/builtinsimpl.c index fd8c9fd79c58ef6e8de8d481afb0db64893bd48e..5ce8272234067247cbf0101338962c2e1b1dff26 100644 --- a/source/libs/function/src/builtinsimpl.c +++ b/source/libs/function/src/builtinsimpl.c @@ -3013,18 +3013,22 @@ int32_t mavgFunction(SqlFunctionCtx* pCtx) { } else { pInfo->sum = pInfo->sum + v - pInfo->points[pInfo->pos]; } - } - pInfo->points[pInfo->pos] = v; - double result = pInfo->sum / pInfo->numOfPoints; - colDataAppend(pOutput, pos, (char *)&result, false); + pInfo->points[pInfo->pos] = v; + double result = pInfo->sum / pInfo->numOfPoints; + colDataAppend(pOutput, pos, (char *)&result, false); - //TODO: remove this after pTsOutput is handled - if (pTsOutput != NULL) { - colDataAppendInt64(pTsOutput, pos, &tsList[i]); + //TODO: remove this after pTsOutput is handled + if (pTsOutput != NULL) { + colDataAppendInt64(pTsOutput, pos, &tsList[i]); + } + numOfElems++; } - numOfElems++; + pInfo->pos++; + if (pInfo->pos == pInfo->numOfPoints) { + pInfo->pos = 0; + } } return numOfElems;