Skip to content

Commit ea37a09

Browse files
authored
fix: wrong percent_rank when no partition columns. (#18417)
1 parent 47c2830 commit ea37a09

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

src/query/service/src/pipelines/processors/transforms/window/transform_window.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,7 @@ impl<T: Number> TransformWindow<T> {
225225

226226
let partition_by_columns = self.partition_indices.len();
227227
if partition_by_columns == 0 {
228+
self.partition_size += self.block_rows(&self.partition_end);
228229
self.partition_end = end;
229230
return;
230231
}

tests/sqllogictests/suites/query/window_function/named_window_basic.test

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,21 @@ sales 4800 0.0
187187
sales 4800 0.0
188188
sales 5000 1.0
189189

190+
# percent_rank
191+
query TII
192+
SELECT depname, salary, percent_rank() OVER w FROM empsalary WINDOW w AS (ORDER BY salary) order by salary
193+
----
194+
personnel 3500 0.0
195+
personnel 3900 0.1111111111111111
196+
develop 4200 0.2222222222222222
197+
develop 4500 0.3333333333333333
198+
sales 4800 0.4444444444444444
199+
sales 4800 0.4444444444444444
200+
sales 5000 0.6666666666666666
201+
develop 5200 0.7777777777777778
202+
develop 5200 0.7777777777777778
203+
develop 6000 1.0
204+
190205
# min/max/avg
191206
query TIIR
192207
SELECT depname, min(salary) OVER w m1, max(salary) OVER w m2, AVG(salary) OVER w m3 FROM empsalary WINDOW w AS (PARTITION BY depname ORDER BY salary, empno) ORDER BY depname, empno

0 commit comments

Comments
 (0)