@@ -2048,69 +2048,101 @@ CREATE TABLE test_table (c1 INT, c2 INT, c3 INT)
2048
2048
2049
2049
# Inserting data
2050
2050
statement ok
2051
- INSERT INTO test_table VALUES (1, 10, 50), (1, 20, 60), (2, 10, 70), (2, 20, 80), (3, 10, NULL)
2051
+ INSERT INTO test_table VALUES
2052
+ (1, 10, 50),
2053
+ (1, 20, 60),
2054
+ (2, 10, 70),
2055
+ (2, 20, 80),
2056
+ (3, 10, NULL)
2052
2057
2053
2058
# query_group_by_with_filter
2054
- query II rowsort
2055
- SELECT c1, SUM(c2) FILTER (WHERE c2 >= 20) as result FROM test_table GROUP BY c1
2059
+ query III rowsort
2060
+ SELECT
2061
+ c1,
2062
+ SUM(c2) FILTER (WHERE c2 >= 20),
2063
+ SUM(c2) FILTER (WHERE c2 < 1) -- no rows pass filter, so the output should be NULL
2064
+ FROM test_table GROUP BY c1
2056
2065
----
2057
- 1 20
2058
- 2 20
2059
- 3 NULL
2066
+ 1 20 NULL
2067
+ 2 20 NULL
2068
+ 3 NULL NULL
2060
2069
2061
2070
# query_group_by_avg_with_filter
2062
- query IR rowsort
2063
- SELECT c1, AVG(c2) FILTER (WHERE c2 >= 20) AS avg_c2 FROM test_table GROUP BY c1
2071
+ query IRR rowsort
2072
+ SELECT
2073
+ c1,
2074
+ AVG(c2) FILTER (WHERE c2 >= 20),
2075
+ AVG(c2) FILTER (WHERE c2 < 1) -- no rows pass filter, so output should be null
2076
+ FROM test_table GROUP BY c1
2064
2077
----
2065
- 1 20
2066
- 2 20
2067
- 3 NULL
2078
+ 1 20 NULL
2079
+ 2 20 NULL
2080
+ 3 NULL NULL
2068
2081
2069
2082
# query_group_by_with_multiple_filters
2070
2083
query IIR rowsort
2071
- SELECT c1, SUM(c2) FILTER (WHERE c2 >= 20) AS sum_c2, AVG(c3) FILTER (WHERE c3 <= 70) AS avg_c3 FROM test_table GROUP BY c1
2084
+ SELECT
2085
+ c1,
2086
+ SUM(c2) FILTER (WHERE c2 >= 20) AS sum_c2,
2087
+ AVG(c3) FILTER (WHERE c3 <= 70) AS avg_c3
2088
+ FROM test_table GROUP BY c1
2072
2089
----
2073
2090
1 20 55
2074
2091
2 20 70
2075
2092
3 NULL NULL
2076
2093
2077
2094
# query_group_by_distinct_with_filter
2078
2095
query II rowsort
2079
- SELECT c1, COUNT(DISTINCT c2) FILTER (WHERE c2 >= 20) AS distinct_c2_count FROM test_table GROUP BY c1
2096
+ SELECT
2097
+ c1,
2098
+ COUNT(DISTINCT c2) FILTER (WHERE c2 >= 20) AS distinct_c2_count
2099
+ FROM test_table GROUP BY c1
2080
2100
----
2081
2101
1 1
2082
2102
2 1
2083
2103
3 0
2084
2104
2085
2105
# query_without_group_by_with_filter
2086
2106
query I rowsort
2087
- SELECT SUM(c2) FILTER (WHERE c2 >= 20) AS sum_c2 FROM test_table
2107
+ SELECT
2108
+ SUM(c2) FILTER (WHERE c2 >= 20) AS sum_c2
2109
+ FROM test_table
2088
2110
----
2089
2111
40
2090
2112
2091
2113
# count_without_group_by_with_filter
2092
2114
query I rowsort
2093
- SELECT COUNT(c2) FILTER (WHERE c2 >= 20) AS count_c2 FROM test_table
2115
+ SELECT
2116
+ COUNT(c2) FILTER (WHERE c2 >= 20) AS count_c2
2117
+ FROM test_table
2094
2118
----
2095
2119
2
2096
2120
2097
2121
# query_with_and_without_filter
2098
2122
query III rowsort
2099
- SELECT c1, SUM(c2) FILTER (WHERE c2 >= 20) as result, SUM(c2) as result_no_filter FROM test_table GROUP BY c1;
2123
+ SELECT
2124
+ c1,
2125
+ SUM(c2) FILTER (WHERE c2 >= 20) as result,
2126
+ SUM(c2) as result_no_filter
2127
+ FROM test_table GROUP BY c1;
2100
2128
----
2101
2129
1 20 30
2102
2130
2 20 30
2103
2131
3 NULL 10
2104
2132
2105
2133
# query_filter_on_different_column_than_aggregate
2106
2134
query I rowsort
2107
- select sum(c1) FILTER (WHERE c2 < 30) from test_table;
2135
+ select
2136
+ sum(c1) FILTER (WHERE c2 < 30)
2137
+ FROM test_table;
2108
2138
----
2109
2139
9
2110
2140
2111
2141
# query_test_empty_filter
2112
2142
query I rowsort
2113
- SELECT SUM(c2) FILTER (WHERE c2 >= 20000000) AS sum_c2 FROM test_table;
2143
+ SELECT
2144
+ SUM(c2) FILTER (WHERE c2 >= 20000000) AS sum_c2
2145
+ FROM test_table;
2114
2146
----
2115
2147
NULL
2116
2148
0 commit comments