diff --git a/docs/en/sql-reference/aggregate-functions/grouping_function.md b/docs/en/sql-reference/aggregate-functions/grouping_function.md index dbfec2cd6f2..869784b752a 100644 --- a/docs/en/sql-reference/aggregate-functions/grouping_function.md +++ b/docs/en/sql-reference/aggregate-functions/grouping_function.md @@ -20,6 +20,24 @@ ORDER BY number, gr; Response ```response +┌─number─┬─gr─┐ +│ 0 │ 1 │ +│ 0 │ 1 │ +└────────┴────┘ +┌─number─┬─gr─┐ +│ 0 │ 2 │ +│ 1 │ 2 │ +│ 2 │ 2 │ +│ 3 │ 2 │ +│ 4 │ 2 │ +│ 5 │ 2 │ +│ 6 │ 2 │ +│ 7 │ 2 │ +│ 8 │ 2 │ +│ 9 │ 2 │ +└────────┴────┘ + +12 rows in set. Elapsed: 0.005 sec. ``` ```sql @@ -37,6 +55,26 @@ ORDER BY number, gr; Response ```response +┌─number─┬─gr─┐ +│ 0 │ 1 │ +└────────┴────┘ +┌─number─┬─gr─┐ +│ 0 │ 2 │ +│ 0 │ 2 │ +└────────┴────┘ +┌─number─┬─gr─┐ +│ 1 │ 1 │ +│ 2 │ 1 │ +│ 3 │ 1 │ +│ 4 │ 1 │ +│ 5 │ 1 │ +│ 6 │ 1 │ +│ 7 │ 1 │ +│ 8 │ 1 │ +│ 9 │ 1 │ +└────────┴────┘ + +12 rows in set. Elapsed: 0.005 sec. ``` ```sql @@ -54,6 +92,26 @@ ORDER BY number, gr; Response ```response +┌─number─┬─gr─┐ +│ 0 │ 0 │ +└────────┴────┘ +┌─number─┬─gr─┐ +│ 0 │ 1 │ +│ 0 │ 1 │ +└────────┴────┘ +┌─number─┬─gr─┐ +│ 1 │ 0 │ +│ 2 │ 0 │ +│ 3 │ 0 │ +│ 4 │ 0 │ +│ 5 │ 0 │ +│ 6 │ 0 │ +│ 7 │ 0 │ +│ 8 │ 0 │ +│ 9 │ 0 │ +└────────┴────┘ + +12 rows in set. Elapsed: 0.004 sec. ``` ```sql @@ -70,6 +128,26 @@ ORDER BY number, grouping(number, number % 2) = 1; Response ```response +┌─number─┐ +│ 0 │ +└────────┘ +┌─number─┐ +│ 0 │ +│ 0 │ +└────────┘ +┌─number─┐ +│ 1 │ +│ 2 │ +│ 3 │ +│ 4 │ +│ 5 │ +│ 6 │ +│ 7 │ +│ 8 │ +│ 9 │ +└────────┘ + +12 rows in set. Elapsed: 0.002 sec. ``` ```sql @@ -89,6 +167,35 @@ ORDER BY (gr, number); Response ```response +┌─number─┬─count()─┬─gr─┐ +│ 0 │ 10 │ 0 │ +└────────┴─────────┴────┘ +┌─number─┬─count()─┬─gr─┐ +│ 0 │ 1 │ 2 │ +│ 1 │ 1 │ 2 │ +│ 2 │ 1 │ 2 │ +│ 3 │ 1 │ 2 │ +│ 4 │ 1 │ 2 │ +│ 5 │ 1 │ 2 │ +│ 6 │ 1 │ 2 │ +│ 7 │ 1 │ 2 │ +│ 8 │ 1 │ 2 │ +│ 9 │ 1 │ 2 │ +└────────┴─────────┴────┘ +┌─number─┬─count()─┬─gr─┐ +│ 0 │ 1 │ 3 │ +│ 1 │ 1 │ 3 │ +│ 2 │ 1 │ 3 │ +│ 3 │ 1 │ 3 │ +│ 4 │ 1 │ 3 │ +│ 5 │ 1 │ 3 │ +│ 6 │ 1 │ 3 │ +│ 7 │ 1 │ 3 │ +│ 8 │ 1 │ 3 │ +│ 9 │ 1 │ 3 │ +└────────┴─────────┴────┘ + +21 rows in set. Elapsed: 0.015 sec. ``` ```sql @@ -106,6 +213,8 @@ ORDER BY number Response ```response +Received exception from server (version 22.7.1): +Code: 47. DB::Exception: Received from localhost:9000. DB::Exception: Unknown identifier: __grouping_set: While processing grouping(number, number % 2) = 2. (UNKNOWN_IDENTIFIER) ``` ```sql @@ -123,6 +232,8 @@ ORDER BY number Response ```response +Received exception from server (version 22.7.1): +Code: 47. DB::Exception: Received from localhost:9000. DB::Exception: Unknown identifier: __grouping_set: While processing grouping(number, number % 2) = 1. (UNKNOWN_IDENTIFIER) ``` ```sql @@ -139,6 +250,22 @@ ORDER BY number, gr; Response ```response +┌─number─┬─gr─┐ +│ 0 │ 0 │ +│ 0 │ 1 │ +│ 0 │ 1 │ +│ 1 │ 0 │ +│ 2 │ 0 │ +│ 3 │ 0 │ +│ 4 │ 0 │ +│ 5 │ 0 │ +│ 6 │ 0 │ +│ 7 │ 0 │ +│ 8 │ 0 │ +│ 9 │ 0 │ +└────────┴────┘ + +12 rows in set. Elapsed: 0.008 sec. ``` @@ -155,6 +282,20 @@ ORDER BY number; Response ```response +┌─number─┬─equals(grouping(number, modulo(number, 2)), 3)─┐ +│ 0 │ 1 │ +│ 1 │ 1 │ +│ 2 │ 1 │ +│ 3 │ 1 │ +│ 4 │ 1 │ +│ 5 │ 1 │ +│ 6 │ 1 │ +│ 7 │ 1 │ +│ 8 │ 1 │ +│ 9 │ 1 │ +└────────┴────────────────────────────────────────────────┘ + +10 rows in set. Elapsed: 0.009 sec. ``` ```sql @@ -171,6 +312,20 @@ ORDER BY number; Response ```response +┌─number─┬─grouping(number)─┬─grouping(modulo(number, 2))─┐ +│ 0 │ 1 │ 1 │ +│ 1 │ 1 │ 1 │ +│ 2 │ 1 │ 1 │ +│ 3 │ 1 │ 1 │ +│ 4 │ 1 │ 1 │ +│ 5 │ 1 │ 1 │ +│ 6 │ 1 │ 1 │ +│ 7 │ 1 │ 1 │ +│ 8 │ 1 │ 1 │ +│ 9 │ 1 │ 1 │ +└────────┴──────────────────┴─────────────────────────────┘ + +10 rows in set. Elapsed: 0.010 sec. ``` ```sql @@ -188,6 +343,31 @@ ORDER BY Response ```response +┌─number─┬─gr─┐ +│ 0 │ 0 │ +│ 0 │ 2 │ +│ 0 │ 3 │ +│ 1 │ 2 │ +│ 1 │ 3 │ +│ 2 │ 2 │ +│ 2 │ 3 │ +│ 3 │ 2 │ +│ 3 │ 3 │ +│ 4 │ 2 │ +│ 4 │ 3 │ +│ 5 │ 2 │ +│ 5 │ 3 │ +│ 6 │ 2 │ +│ 6 │ 3 │ +│ 7 │ 2 │ +│ 7 │ 3 │ +│ 8 │ 2 │ +│ 8 │ 3 │ +│ 9 │ 2 │ +│ 9 │ 3 │ +└────────┴────┘ + +21 rows in set. Elapsed: 0.005 sec. ``` ```sql @@ -203,6 +383,31 @@ ORDER BY Response ```response +┌─number─┬─gr─┐ +│ 0 │ 0 │ +│ 0 │ 2 │ +│ 0 │ 3 │ +│ 1 │ 2 │ +│ 1 │ 3 │ +│ 2 │ 2 │ +│ 2 │ 3 │ +│ 3 │ 2 │ +│ 3 │ 3 │ +│ 4 │ 2 │ +│ 4 │ 3 │ +│ 5 │ 2 │ +│ 5 │ 3 │ +│ 6 │ 2 │ +│ 6 │ 3 │ +│ 7 │ 2 │ +│ 7 │ 3 │ +│ 8 │ 2 │ +│ 8 │ 3 │ +│ 9 │ 2 │ +│ 9 │ 3 │ +└────────┴────┘ + +21 rows in set. Elapsed: 0.008 sec. ``` ```sql @@ -220,6 +425,33 @@ ORDER BY Response ```response +┌─number─┬─gr─┐ +│ 0 │ 0 │ +│ 0 │ 1 │ +│ 0 │ 1 │ +│ 0 │ 2 │ +│ 0 │ 3 │ +│ 1 │ 2 │ +│ 1 │ 3 │ +│ 2 │ 2 │ +│ 2 │ 3 │ +│ 3 │ 2 │ +│ 3 │ 3 │ +│ 4 │ 2 │ +│ 4 │ 3 │ +│ 5 │ 2 │ +│ 5 │ 3 │ +│ 6 │ 2 │ +│ 6 │ 3 │ +│ 7 │ 2 │ +│ 7 │ 3 │ +│ 8 │ 2 │ +│ 8 │ 3 │ +│ 9 │ 2 │ +│ 9 │ 3 │ +└────────┴────┘ + +23 rows in set. Elapsed: 0.006 sec. ``` ```sql @@ -235,6 +467,33 @@ ORDER BY Response ```response +┌─number─┬─gr─┐ +│ 0 │ 0 │ +│ 0 │ 1 │ +│ 0 │ 1 │ +│ 0 │ 2 │ +│ 0 │ 3 │ +│ 1 │ 2 │ +│ 1 │ 3 │ +│ 2 │ 2 │ +│ 2 │ 3 │ +│ 3 │ 2 │ +│ 3 │ 3 │ +│ 4 │ 2 │ +│ 4 │ 3 │ +│ 5 │ 2 │ +│ 5 │ 3 │ +│ 6 │ 2 │ +│ 6 │ 3 │ +│ 7 │ 2 │ +│ 7 │ 3 │ +│ 8 │ 2 │ +│ 8 │ 3 │ +│ 9 │ 2 │ +│ 9 │ 3 │ +└────────┴────┘ + +23 rows in set. Elapsed: 0.004 sec. ``` ```sql @@ -251,6 +510,31 @@ ORDER BY Response ```response + +┌─number─┬─gr─┐ +│ 0 │ 5 │ +│ 0 │ 6 │ +│ 1 │ 5 │ +│ 1 │ 6 │ +│ 2 │ 5 │ +│ 2 │ 6 │ +│ 3 │ 5 │ +│ 3 │ 6 │ +│ 4 │ 5 │ +│ 4 │ 6 │ +│ 5 │ 5 │ +│ 5 │ 6 │ +│ 6 │ 5 │ +│ 6 │ 6 │ +│ 7 │ 5 │ +│ 7 │ 6 │ +│ 8 │ 5 │ +│ 8 │ 6 │ +│ 9 │ 5 │ +│ 9 │ 6 │ +└────────┴────┘ + +20 rows in set. Elapsed: 0.006 sec. ``` ```sql @@ -266,6 +550,38 @@ ORDER BY Response ```response +┌─number─┬─gr─┐ +│ 0 │ 0 │ +│ 0 │ 1 │ +│ 0 │ 1 │ +│ 0 │ 2 │ +│ 0 │ 3 │ +│ 1 │ 2 │ +│ 1 │ 3 │ +│ 2 │ 2 │ +│ 2 │ 3 │ +│ 3 │ 2 │ +│ 3 │ 3 │ +│ 4 │ 2 │ +│ 4 │ 3 │ +│ 5 │ 2 │ +│ 5 │ 3 │ +│ 6 │ 2 │ +│ 6 │ 3 │ +│ 7 │ 2 │ +│ 7 │ 3 │ +│ 8 │ 2 │ +│ 8 │ 3 │ +│ 9 │ 2 │ +│ 9 │ 3 │ +└────────┴────┘ + +Totals: +┌─number─┬─gr─┐ +│ 0 │ 0 │ +└────────┴────┘ + +23 rows in set. Elapsed: 0.006 sec. ``` ```sql @@ -281,4 +597,34 @@ ORDER BY Response ```response +┌─number─┬─gr─┐ +│ 0 │ 0 │ +│ 0 │ 2 │ +│ 0 │ 3 │ +│ 1 │ 2 │ +│ 1 │ 3 │ +│ 2 │ 2 │ +│ 2 │ 3 │ +│ 3 │ 2 │ +│ 3 │ 3 │ +│ 4 │ 2 │ +│ 4 │ 3 │ +│ 5 │ 2 │ +│ 5 │ 3 │ +│ 6 │ 2 │ +│ 6 │ 3 │ +│ 7 │ 2 │ +│ 7 │ 3 │ +│ 8 │ 2 │ +│ 8 │ 3 │ +│ 9 │ 2 │ +│ 9 │ 3 │ +└────────┴────┘ + +Totals: +┌─number─┬─gr─┐ +│ 0 │ 0 │ +└────────┴────┘ + +21 rows in set. Elapsed: 0.006 sec. ```