diff --git a/dbms/src/Interpreters/InterpreterSelectQuery.cpp b/dbms/src/Interpreters/InterpreterSelectQuery.cpp index 8e699e48e95ef9e1f45ca8d73830e5a3766828f5..4bfabf65f1e76a9d029337c90a254f7262f4bd31 100644 --- a/dbms/src/Interpreters/InterpreterSelectQuery.cpp +++ b/dbms/src/Interpreters/InterpreterSelectQuery.cpp @@ -95,6 +95,7 @@ #include #include #include +#include namespace DB @@ -1950,7 +1951,8 @@ void InterpreterSelectQuery::executeAggregation(QueryPipeline & pipeline, const if (pipeline.getNumStreams() > 1) { /// Add resize transform to uniformly distribute data between aggregating streams. - pipeline.resize(pipeline.getNumStreams(), true, true); + if (!(storage && typeid_cast(storage.get()))) + pipeline.resize(pipeline.getNumStreams(), true, true); auto many_data = std::make_shared(pipeline.getNumStreams()); auto merge_threads = settings.aggregation_memory_efficient_merge_threads