diff --git a/dbms/tests/queries/0_stateless/00108_totals_after_having.reference b/dbms/tests/queries/0_stateless/00108_totals_after_having.reference new file mode 100644 index 00000000000..7a8bfd32d43 --- /dev/null +++ b/dbms/tests/queries/0_stateless/00108_totals_after_having.reference @@ -0,0 +1,12 @@ +0 2 + +0 2 +0 2 + +0 2 +0 2 + +0 2 +0 2 + +0 2 diff --git a/dbms/tests/queries/0_stateless/00108_totals_after_having.sql b/dbms/tests/queries/0_stateless/00108_totals_after_having.sql new file mode 100644 index 00000000000..30b527da2ad --- /dev/null +++ b/dbms/tests/queries/0_stateless/00108_totals_after_having.sql @@ -0,0 +1,14 @@ +SET max_rows_to_group_by = 100000; +SET group_by_overflow_mode = 'any'; + +SET totals_mode = 'after_having_auto'; +SELECT dummy, count() FROM remote('127.0.0.{1,2}', system, one) GROUP BY dummy WITH TOTALS; + +SET totals_mode = 'after_having_inclusive'; +SELECT dummy, count() FROM remote('127.0.0.{1,2}', system, one) GROUP BY dummy WITH TOTALS; + +SET totals_mode = 'after_having_exclusive'; +SELECT dummy, count() FROM remote('127.0.0.{1,2}', system, one) GROUP BY dummy WITH TOTALS; + +SET totals_mode = 'before_having'; +SELECT dummy, count() FROM remote('127.0.0.{1,2}', system, one) GROUP BY dummy WITH TOTALS; diff --git a/dbms/tests/queries/0_stateless/00109_totals_after_having.sql b/dbms/tests/queries/0_stateless/00109_totals_after_having.sql new file mode 100644 index 00000000000..06fd5859a83 --- /dev/null +++ b/dbms/tests/queries/0_stateless/00109_totals_after_having.sql @@ -0,0 +1,20 @@ +SET max_rows_to_group_by = 100000; +SET max_block_size = 100001; +SET group_by_overflow_mode = 'any'; + +DROP TABLE IF EXISTS test.numbers500k; +CREATE VIEW test.numbers500k AS SELECT number FROM system.numbers LIMIT 500000; + +SET totals_mode = 'after_having_auto'; +SELECT intDiv(number, 2) AS k, count(), argMax(toString(number), number) FROM remote('127.0.0.{1,2}', test, numbers500k) GROUP BY k WITH TOTALS ORDER BY k LIMIT 10; + +SET totals_mode = 'after_having_inclusive'; +SELECT intDiv(number, 2) AS k, count(), argMax(toString(number), number) FROM remote('127.0.0.{1,2}', test, numbers500k) GROUP BY k WITH TOTALS ORDER BY k LIMIT 10; + +SET totals_mode = 'after_having_exclusive'; +SELECT intDiv(number, 2) AS k, count(), argMax(toString(number), number) FROM remote('127.0.0.{1,2}', test, numbers500k) GROUP BY k WITH TOTALS ORDER BY k LIMIT 10; + +SET totals_mode = 'before_having'; +SELECT intDiv(number, 2) AS k, count(), argMax(toString(number), number) FROM remote('127.0.0.{1,2}', test, numbers500k) GROUP BY k WITH TOTALS ORDER BY k LIMIT 10; + +DROP TABLE test.numbers500k;