2021-04-06 11:57:32 +00:00
-- { echo }
set allow_experimental_window_functions = 1;
select row_number() over (order by dummy) from (select * from remote('127.0.0.{1,2}', system, one));
1
2
2021-04-23 10:58:54 +00:00
select row_number() over (order by dummy) from remote('127.0.0.{1,2}', system, one);
1
2
select max(identity(dummy + 1)) over () from remote('127.0.0.{1,2}', system, one);
1
1
drop table if exists t_01568;
2021-05-27 16:05:49 +00:00
create table t_01568 engine Memory as
select intDiv(number, 3) p, modulo(number, 3) o, number
from numbers(9);
2021-04-23 10:58:54 +00:00
select sum(number) over w, max(number) over w from t_01568 window w as (partition by p);
3 2
3 2
3 2
12 5
12 5
12 5
21 8
21 8
21 8
select sum(number) over w, max(number) over w from remote('127.0.0.{1,2}', '', t_01568) window w as (partition by p);
6 2
6 2
6 2
6 2
6 2
6 2
24 5
24 5
24 5
24 5
24 5
24 5
42 8
42 8
42 8
42 8
42 8
42 8
select distinct sum(number) over w, max(number) over w from remote('127.0.0.{1,2}', '', t_01568) window w as (partition by p);
6 2
24 5
42 8
2021-04-23 15:21:34 +00:00
-- window functions + aggregation w/shards
select groupArray(groupArray(number)) over (rows unbounded preceding) from remote('127.0.0.{1,2}', '', t_01568) group by mod(number, 3);
[[0,3,6,0,3,6]]
[[0,3,6,0,3,6],[1,4,7,1,4,7]]
[[0,3,6,0,3,6],[1,4,7,1,4,7],[2,5,8,2,5,8]]
2021-05-05 20:56:15 +00:00
select groupArray(groupArray(number)) over (rows unbounded preceding) from remote('127.0.0.{1,2}', '', t_01568) group by mod(number, 3) settings distributed_group_by_no_merge=1;
[[0,3,6]]
[[0,3,6],[1,4,7]]
[[0,3,6],[1,4,7],[2,5,8]]
[[0,3,6]]
[[0,3,6],[1,4,7]]
[[0,3,6],[1,4,7],[2,5,8]]
select groupArray(groupArray(number)) over (rows unbounded preceding) from remote('127.0.0.{1,2}', '', t_01568) group by mod(number, 3) settings distributed_group_by_no_merge=2; -- { serverError 48 }
2021-05-27 16:05:49 +00:00
-- proper ORDER BY w/window functions
select p, o, count() over (partition by p)
from remote('127.0.0.{1,2}', '', t_01568)
order by p, o;
0 0 6
0 0 6
0 1 6
0 1 6
0 2 6
0 2 6
1 0 6
1 0 6
1 1 6
1 1 6
1 2 6
1 2 6
2 0 6
2 0 6
2 1 6
2 1 6
2 2 6
2 2 6
2021-04-23 10:58:54 +00:00
drop table t_01568;