---------------------------------------------------------------------------------------
Remote Subquery Scan on all
Output: (val + val2), val, val2
- Sort Key: xc_groupby_tab1.val, xc_groupby_tab1.val2
+ Sort Key: (xc_groupby_tab1.val + xc_groupby_tab1.val2), xc_groupby_tab1.val
-> Sort
Output: ((val + val2)), val, val2
Sort Key: ((xc_groupby_tab1.val + xc_groupby_tab1.val2)), xc_groupby_tab1.val
--------------------------------------------------------------
Remote Subquery Scan on all
Output: (val + val2), val, val2
- Sort Key: xc_groupby_tab1.val, xc_groupby_tab1.val2
-> HashAggregate
Output: (val + val2), val, val2
Group Key: xc_groupby_tab1.val, xc_groupby_tab1.val2
-> Seq Scan on public.xc_groupby_tab1
Output: val, val2
-(8 rows)
+(7 rows)
select xc_groupby_tab1.val + xc_groupby_tab2.val2, xc_groupby_tab1.val, xc_groupby_tab2.val2 from xc_groupby_tab1, xc_groupby_tab2 where xc_groupby_tab1.val = xc_groupby_tab2.val group by xc_groupby_tab1.val, xc_groupby_tab2.val2 order by 1, 2, 3;
?column? | val | val2
7 | 3 | 4
(6 rows)
+explain (verbose true, costs false, nodes false) select xc_groupby_tab1.val + xc_groupby_tab2.val2, xc_groupby_tab1.val, xc_groupby_tab2.val2 from xc_groupby_tab1, xc_groupby_tab2 where xc_groupby_tab1.val = xc_groupby_tab2.val group by xc_groupby_tab1.val, xc_groupby_tab2.val2 order by 1, 2, 3;
+ QUERY PLAN
+---------------------------------------------------------------------------------------------------------------
+ Remote Subquery Scan on all
+ Output: (xc_groupby_tab1.val + xc_groupby_tab2.val2), xc_groupby_tab1.val, xc_groupby_tab2.val2
+ Sort Key: (xc_groupby_tab1.val + xc_groupby_tab2.val2), xc_groupby_tab1.val, xc_groupby_tab2.val2
+ -> Sort
+ Output: ((xc_groupby_tab1.val + xc_groupby_tab2.val2)), xc_groupby_tab1.val, xc_groupby_tab2.val2
+ Sort Key: ((xc_groupby_tab1.val + xc_groupby_tab2.val2)), xc_groupby_tab1.val, xc_groupby_tab2.val2
+ -> HashAggregate
+ Output: (xc_groupby_tab1.val + xc_groupby_tab2.val2), xc_groupby_tab1.val, xc_groupby_tab2.val2
+ Group Key: xc_groupby_tab1.val, xc_groupby_tab2.val2
+ -> Merge Join
+ Output: xc_groupby_tab1.val, xc_groupby_tab2.val2
+ Merge Cond: (xc_groupby_tab1.val = xc_groupby_tab2.val)
+ -> Sort
+ Output: xc_groupby_tab1.val
+ Sort Key: xc_groupby_tab1.val
+ -> Seq Scan on public.xc_groupby_tab1
+ Output: xc_groupby_tab1.val
+ -> Sort
+ Output: xc_groupby_tab2.val2, xc_groupby_tab2.val
+ Sort Key: xc_groupby_tab2.val
+ -> Seq Scan on public.xc_groupby_tab2
+ Output: xc_groupby_tab2.val2, xc_groupby_tab2.val
+(22 rows)
+
explain (verbose true, costs false, nodes false) select xc_groupby_tab1.val + xc_groupby_tab2.val2, xc_groupby_tab1.val, xc_groupby_tab2.val2 from xc_groupby_tab1, xc_groupby_tab2 where xc_groupby_tab1.val = xc_groupby_tab2.val group by xc_groupby_tab1.val, xc_groupby_tab2.val2;
QUERY PLAN
---------------------------------------------------------------------------------------------------------
Remote Subquery Scan on all
Output: (xc_groupby_tab1.val + xc_groupby_tab2.val2), xc_groupby_tab1.val, xc_groupby_tab2.val2
- Sort Key: xc_groupby_tab1.val, xc_groupby_tab2.val2
-> HashAggregate
Output: (xc_groupby_tab1.val + xc_groupby_tab2.val2), xc_groupby_tab1.val, xc_groupby_tab2.val2
Group Key: xc_groupby_tab1.val, xc_groupby_tab2.val2
Sort Key: xc_groupby_tab2.val
-> Seq Scan on public.xc_groupby_tab2
Output: xc_groupby_tab2.val2, xc_groupby_tab2.val
-(19 rows)
+(18 rows)
select xc_groupby_tab1.val + xc_groupby_tab2.val2 from xc_groupby_tab1, xc_groupby_tab2 where xc_groupby_tab1.val = xc_groupby_tab2.val group by xc_groupby_tab1.val + xc_groupby_tab2.val2 order by 1;
?column?
-----------------------------------------------------
Remote Subquery Scan on all
Output: avg(a), a
- Sort Key: xc_groupby_def.a
+ Sort Key: avg(xc_groupby_def.a)
-> Sort
Output: (avg(a)), a
Sort Key: (avg(xc_groupby_def.a))
-----------------------------------------------
Remote Subquery Scan on all
Output: avg(a), a
- Sort Key: xc_groupby_def.a
-> HashAggregate
Output: avg(a), a
Group Key: xc_groupby_def.a
-> Seq Scan on public.xc_groupby_def
Output: a, b
-(8 rows)
+(7 rows)
select avg(a) from xc_groupby_def group by b order by 1;
avg
2
(10 rows)
+explain (verbose true, costs false, nodes false) select count(*) from xc_groupby_def where a is not null group by a order by 1;
+ QUERY PLAN
+------------------------------------------------------------
+ Remote Subquery Scan on all
+ Output: count(*), a
+ Sort Key: count(*)
+ -> Sort
+ Output: (count(*)), a
+ Sort Key: (count(*))
+ -> HashAggregate
+ Output: count(*), a
+ Group Key: xc_groupby_def.a
+ -> Seq Scan on public.xc_groupby_def
+ Output: a, b
+ Filter: (xc_groupby_def.a IS NOT NULL)
+(12 rows)
+
explain (verbose true, costs false, nodes false) select count(*) from xc_groupby_def where a is not null group by a;
QUERY PLAN
------------------------------------------------------
Remote Subquery Scan on all
Output: count(*), a
- Sort Key: xc_groupby_def.a
-> HashAggregate
Output: count(*), a
Group Key: xc_groupby_def.a
-> Seq Scan on public.xc_groupby_def
Output: a, b
Filter: (xc_groupby_def.a IS NOT NULL)
-(9 rows)
+(8 rows)
select * from (select b from xc_groupby_def group by b) q order by q.b;
b
---------------------------------------------
Remote Subquery Scan on all
Output: sum(a), a
- Sort Key: xc_groupby_g.a
-> HashAggregate
Output: sum(a), a
Group Key: xc_groupby_g.a
-> Seq Scan on public.xc_groupby_g
Output: a, b, c
-(8 rows)
+(7 rows)
select sum(b) from xc_groupby_g group by b order by 1;
sum
------------------------------------------------------------------------------
Group
Output: ((val + val2))
- Group Key: ((xc_groupby_tab1.val + xc_groupby_tab1.val2))
+ Group Key: (xc_groupby_tab1.val + xc_groupby_tab1.val2)
-> Remote Subquery Scan on all
Output: (val + val2)
Sort Key: (xc_groupby_tab1.val + xc_groupby_tab1.val2)
Output: (val + val2)
(14 rows)
-select val + val2, val, val2 from xc_groupby_tab1 group by val, val2;
+select val + val2, val, val2 from xc_groupby_tab1 group by val, val2 order by val, val2;
?column? | val | val2
----------+-----+------
2 | 1 | 1
9 | 6 | 3
(8 rows)
-explain (verbose true, costs false, nodes false) select val + val2, val, val2 from xc_groupby_tab1 group by val, val2;
+explain (verbose true, costs false, nodes false) select val + val2, val, val2 from xc_groupby_tab1 group by val, val2 order by val, val2;
QUERY PLAN
-------------------------------------------------------------------
Remote Subquery Scan on all
---------------------------------------------------------------------------------------------------------
Remote Subquery Scan on all
Output: (xc_groupby_tab1.val + xc_groupby_tab2.val2), xc_groupby_tab1.val, xc_groupby_tab2.val2
- Sort Key: xc_groupby_tab1.val, xc_groupby_tab2.val2
-> Group
Output: (xc_groupby_tab1.val + xc_groupby_tab2.val2), xc_groupby_tab1.val, xc_groupby_tab2.val2
Group Key: xc_groupby_tab1.val, xc_groupby_tab2.val2
Sort Key: xc_groupby_tab2.val
-> Seq Scan on public.xc_groupby_tab2
Output: xc_groupby_tab2.val2, xc_groupby_tab2.val
-(22 rows)
+(21 rows)
select xc_groupby_tab1.val + xc_groupby_tab2.val2 from xc_groupby_tab1, xc_groupby_tab2 where xc_groupby_tab1.val = xc_groupby_tab2.val group by xc_groupby_tab1.val + xc_groupby_tab2.val2;
?column?
Output: a
(11 rows)
-select avg(a) from xc_groupby_def group by a;
- avg
-------------------------
- 1.00000000000000000000
- 2.0000000000000000
- 3.0000000000000000
- 4.0000000000000000
- 5.0000000000000000
- 6.0000000000000000
- 7.0000000000000000
- 8.0000000000000000
- 9.0000000000000000
- 10.0000000000000000
-
-(11 rows)
-
-select avg(a) from xc_groupby_def group by a;
+select avg(a) from xc_groupby_def group by a order by 1;
avg
------------------------
1.00000000000000000000
(11 rows)
-explain (verbose true, costs false, nodes false) select avg(a) from xc_groupby_def group by a;
- QUERY PLAN
------------------------------------------------------
+explain (verbose true, costs false, nodes false) select avg(a) from xc_groupby_def group by a order by 1;
+ QUERY PLAN
+-----------------------------------------------------------
Remote Subquery Scan on all
Output: avg(a), a
- Sort Key: xc_groupby_def.a
- -> GroupAggregate
- Output: avg(a), a
- Group Key: xc_groupby_def.a
- -> Sort
- Output: a
- Sort Key: xc_groupby_def.a
- -> Seq Scan on public.xc_groupby_def
+ Sort Key: avg(xc_groupby_def.a)
+ -> Sort
+ Output: (avg(a)), a
+ Sort Key: (avg(xc_groupby_def.a))
+ -> GroupAggregate
+ Output: avg(a), a
+ Group Key: xc_groupby_def.a
+ -> Sort
Output: a
-(11 rows)
+ Sort Key: xc_groupby_def.a
+ -> Seq Scan on public.xc_groupby_def
+ Output: a
+(14 rows)
select avg(a) from xc_groupby_def group by b;
avg
------------------------------------------------------------
Remote Subquery Scan on all
Output: count(*), a
- Sort Key: xc_groupby_def.a
-> GroupAggregate
Output: count(*), a
Group Key: xc_groupby_def.a
-> Seq Scan on public.xc_groupby_def
Output: a
Filter: (xc_groupby_def.a IS NOT NULL)
-(12 rows)
+(11 rows)
select b from xc_groupby_def group by b;
b
---------------------------------------------------
Remote Subquery Scan on all
Output: sum(a), a
- Sort Key: xc_groupby_g.a
-> GroupAggregate
Output: sum(a), a
Group Key: xc_groupby_g.a
Sort Key: xc_groupby_g.a
-> Seq Scan on public.xc_groupby_g
Output: a
-(11 rows)
+(10 rows)
select sum(b) from xc_groupby_g group by b;
sum
---------------------------------------------------------------------------------------
Remote Subquery Scan on all
Output: (val + val2), val, val2
- Sort Key: xc_groupby_tab1.val, xc_groupby_tab1.val2
+ Sort Key: (xc_groupby_tab1.val + xc_groupby_tab1.val2), xc_groupby_tab1.val
-> Sort
Output: ((val + val2)), val, val2
Sort Key: ((xc_groupby_tab1.val + xc_groupby_tab1.val2)), xc_groupby_tab1.val
-----------------------------------------------------------------------------------
Group
Output: ((xc_groupby_tab1.val + xc_groupby_tab2.val2))
- Group Key: ((xc_groupby_tab1.val + xc_groupby_tab2.val2))
+ Group Key: (xc_groupby_tab1.val + xc_groupby_tab2.val2)
-> Remote Subquery Scan on all
Output: (xc_groupby_tab1.val + xc_groupby_tab2.val2)
Sort Key: (xc_groupby_tab1.val + xc_groupby_tab2.val2)
(11 rows)
+explain (verbose true, costs false, nodes false) select avg(a) from xc_groupby_def group by a order by 1;
+ QUERY PLAN
+-----------------------------------------------------
+ Remote Subquery Scan on all
+ Output: avg(a), a
+ Sort Key: avg(xc_groupby_def.a)
+ -> Sort
+ Output: (avg(a)), a
+ Sort Key: (avg(xc_groupby_def.a))
+ -> HashAggregate
+ Output: avg(a), a
+ Group Key: xc_groupby_def.a
+ -> Seq Scan on public.xc_groupby_def
+ Output: a, b
+(11 rows)
+
explain (verbose true, costs false, nodes false) select avg(a) from xc_groupby_def group by a;
QUERY PLAN
-----------------------------------------------
Remote Subquery Scan on all
Output: avg(a), a
- Sort Key: xc_groupby_def.a
-> HashAggregate
Output: avg(a), a
Group Key: xc_groupby_def.a
-> Seq Scan on public.xc_groupby_def
Output: a, b
-(8 rows)
+(7 rows)
select avg(a) from xc_groupby_def group by b order by 1;
avg
2
(10 rows)
+explain (verbose true, costs false, nodes false) select count(*) from xc_groupby_def where a is not null group by a order by 1;
+ QUERY PLAN
+------------------------------------------------------------
+ Remote Subquery Scan on all
+ Output: count(*), a
+ Sort Key: count(*)
+ -> Sort
+ Output: (count(*)), a
+ Sort Key: (count(*))
+ -> HashAggregate
+ Output: count(*), a
+ Group Key: xc_groupby_def.a
+ -> Seq Scan on public.xc_groupby_def
+ Output: a, b
+ Filter: (xc_groupby_def.a IS NOT NULL)
+(12 rows)
+
explain (verbose true, costs false, nodes false) select count(*) from xc_groupby_def where a is not null group by a;
QUERY PLAN
------------------------------------------------------
Remote Subquery Scan on all
Output: count(*), a
- Sort Key: xc_groupby_def.a
-> HashAggregate
Output: count(*), a
Group Key: xc_groupby_def.a
-> Seq Scan on public.xc_groupby_def
Output: a, b
Filter: (xc_groupby_def.a IS NOT NULL)
-(9 rows)
+(8 rows)
select * from (select b from xc_groupby_def group by b) q order by q.b;
b
---------------------------------------------
Remote Subquery Scan on all
Output: sum(a), a
- Sort Key: xc_groupby_g.a
-> HashAggregate
Output: sum(a), a
Group Key: xc_groupby_g.a
-> Seq Scan on public.xc_groupby_g
Output: a, b, c
-(8 rows)
+(7 rows)
select sum(b) from xc_groupby_g group by b order by 1;
sum
---------------------------------------------------------------------------------------
Remote Subquery Scan on all
Output: (val + val2), val, val2
- Sort Key: xc_groupby_tab1.val, xc_groupby_tab1.val2
+ Sort Key: (xc_groupby_tab1.val + xc_groupby_tab1.val2), xc_groupby_tab1.val
-> Sort
Output: ((val + val2)), val, val2
Sort Key: ((xc_groupby_tab1.val + xc_groupby_tab1.val2)), xc_groupby_tab1.val
?column? | val | val2
----------+-----+------
2 | 1 | 1
- 6 | 2 | 4
5 | 3 | 2
5 | 4 | 1
+ 6 | 2 | 4
6 | 4 | 2
7 | 3 | 4
(6 rows)
---------------------------------------------------------------------------------------------------------------
Remote Subquery Scan on all
Output: (xc_groupby_tab1.val + xc_groupby_tab2.val2), xc_groupby_tab1.val, xc_groupby_tab2.val2
- Sort Key: xc_groupby_tab1.val, xc_groupby_tab2.val2
+ Sort Key: (xc_groupby_tab1.val + xc_groupby_tab2.val2), xc_groupby_tab1.val
-> Sort
Output: ((xc_groupby_tab1.val + xc_groupby_tab2.val2)), xc_groupby_tab1.val, xc_groupby_tab2.val2
Sort Key: ((xc_groupby_tab1.val + xc_groupby_tab2.val2)), xc_groupby_tab1.val
Output: a
(11 rows)
-select avg(a) from xc_groupby_def group by a;
- avg
-------------------------
- 1.00000000000000000000
- 2.0000000000000000
- 3.0000000000000000
- 4.0000000000000000
- 5.0000000000000000
- 6.0000000000000000
- 7.0000000000000000
- 8.0000000000000000
- 9.0000000000000000
- 10.0000000000000000
-
-(11 rows)
-
-select avg(a) from xc_groupby_def group by a;
+select avg(a) from xc_groupby_def group by a order by 1;
avg
------------------------
1.00000000000000000000
(11 rows)
-explain (verbose true, costs false, nodes false) select avg(a) from xc_groupby_def group by a;
- QUERY PLAN
------------------------------------------------------
+explain (verbose true, costs false, nodes false) select avg(a) from xc_groupby_def group by a order by 1;
+ QUERY PLAN
+-----------------------------------------------------------
Remote Subquery Scan on all
Output: avg(a), a
- Sort Key: xc_groupby_def.a
- -> GroupAggregate
- Output: avg(a), a
- Group Key: xc_groupby_def.a
- -> Sort
- Output: a
- Sort Key: xc_groupby_def.a
- -> Seq Scan on public.xc_groupby_def
+ Sort Key: avg(xc_groupby_def.a)
+ -> Sort
+ Output: (avg(a)), a
+ Sort Key: (avg(xc_groupby_def.a))
+ -> GroupAggregate
+ Output: avg(a), a
+ Group Key: xc_groupby_def.a
+ -> Sort
Output: a
-(11 rows)
+ Sort Key: xc_groupby_def.a
+ -> Seq Scan on public.xc_groupby_def
+ Output: a
+(14 rows)
select avg(a) from xc_groupby_def group by b;
avg
------------------------------------------------------------
Remote Subquery Scan on all
Output: count(*), a
- Sort Key: xc_groupby_def.a
-> GroupAggregate
Output: count(*), a
Group Key: xc_groupby_def.a
-> Seq Scan on public.xc_groupby_def
Output: a
Filter: (xc_groupby_def.a IS NOT NULL)
-(12 rows)
+(11 rows)
select b from xc_groupby_def group by b;
b
---------------------------------------------------
Remote Subquery Scan on all
Output: sum(a), a
- Sort Key: xc_groupby_g.a
-> GroupAggregate
Output: sum(a), a
Group Key: xc_groupby_g.a
Sort Key: xc_groupby_g.a
-> Seq Scan on public.xc_groupby_g
Output: a
-(11 rows)
+(10 rows)
select sum(b) from xc_groupby_g group by b;
sum
explain (verbose true, costs false, nodes false) select val2 from xc_groupby_tab1 group by val2;
select val + val2 from xc_groupby_tab1 group by val + val2;
explain (verbose true, costs false, nodes false) select val + val2 from xc_groupby_tab1 group by val + val2;
-select val + val2, val, val2 from xc_groupby_tab1 group by val, val2;
-explain (verbose true, costs false, nodes false) select val + val2, val, val2 from xc_groupby_tab1 group by val, val2;
+select val + val2, val, val2 from xc_groupby_tab1 group by val, val2 order by val, val2;
+explain (verbose true, costs false, nodes false) select val + val2, val, val2 from xc_groupby_tab1 group by val, val2 order by val, val2;
select xc_groupby_tab1.val + xc_groupby_tab2.val2, xc_groupby_tab1.val, xc_groupby_tab2.val2 from xc_groupby_tab1, xc_groupby_tab2 where xc_groupby_tab1.val = xc_groupby_tab2.val group by xc_groupby_tab1.val, xc_groupby_tab2.val2;
explain (verbose true, costs false, nodes false) select xc_groupby_tab1.val + xc_groupby_tab2.val2, xc_groupby_tab1.val, xc_groupby_tab2.val2 from xc_groupby_tab1, xc_groupby_tab2 where xc_groupby_tab1.val = xc_groupby_tab2.val group by xc_groupby_tab1.val, xc_groupby_tab2.val2;
select xc_groupby_tab1.val + xc_groupby_tab2.val2 from xc_groupby_tab1, xc_groupby_tab2 where xc_groupby_tab1.val = xc_groupby_tab2.val group by xc_groupby_tab1.val + xc_groupby_tab2.val2;
select a,count(a) from xc_groupby_def group by a order by a;
explain (verbose true, costs false, nodes false) select a,count(a) from xc_groupby_def group by a order by a;
-select avg(a) from xc_groupby_def group by a;
-select avg(a) from xc_groupby_def group by a;
-explain (verbose true, costs false, nodes false) select avg(a) from xc_groupby_def group by a;
+select avg(a) from xc_groupby_def group by a order by 1;
+explain (verbose true, costs false, nodes false) select avg(a) from xc_groupby_def group by a order by 1;
select avg(a) from xc_groupby_def group by b;
explain (verbose true, costs false, nodes false) select avg(a) from xc_groupby_def group by b;
select sum(a) from xc_groupby_def group by b;
select a,count(a) from xc_groupby_def group by a order by a;
explain (verbose true, costs false, nodes false) select a,count(a) from xc_groupby_def group by a order by a;
-select avg(a) from xc_groupby_def group by a;
-select avg(a) from xc_groupby_def group by a;
-explain (verbose true, costs false, nodes false) select avg(a) from xc_groupby_def group by a;
+select avg(a) from xc_groupby_def group by a order by 1;
+explain (verbose true, costs false, nodes false) select avg(a) from xc_groupby_def group by a order by 1;
select avg(a) from xc_groupby_def group by b;
explain (verbose true, costs false, nodes false) select avg(a) from xc_groupby_def group by b;
select sum(a) from xc_groupby_def group by b;