mirror of https://github.com/citusdata/citus.git
Add order by window_functions
parent
bcf393eea8
commit
a159bd9aed
|
@ -422,7 +422,7 @@ FROM
|
||||||
WHERE
|
WHERE
|
||||||
user_id > 2 AND user_id < 6
|
user_id > 2 AND user_id < 6
|
||||||
ORDER BY
|
ORDER BY
|
||||||
user_id, value_1;
|
user_id, value_1, 3, 4;
|
||||||
user_id | value_1 | array_agg | array_agg
|
user_id | value_1 | array_agg | array_agg
|
||||||
---------+---------+-------------------------------------------------------+-----------------------------------------------------
|
---------+---------+-------------------------------------------------------+-----------------------------------------------------
|
||||||
3 | 0 | {0} |
|
3 | 0 | {0} |
|
||||||
|
@ -507,7 +507,7 @@ WINDOW
|
||||||
range_window as (PARTITION BY user_id ORDER BY value_1 RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING),
|
range_window as (PARTITION BY user_id ORDER BY value_1 RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING),
|
||||||
range_window_exclude as (PARTITION BY user_id ORDER BY value_1 RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING EXCLUDE CURRENT ROW)
|
range_window_exclude as (PARTITION BY user_id ORDER BY value_1 RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING EXCLUDE CURRENT ROW)
|
||||||
ORDER BY
|
ORDER BY
|
||||||
user_id, value_1;
|
user_id, value_1, 3, 4;
|
||||||
user_id | value_1 | array_agg | array_agg
|
user_id | value_1 | array_agg | array_agg
|
||||||
---------+---------+---------------------------------------+-------------------------------------
|
---------+---------+---------------------------------------+-------------------------------------
|
||||||
3 | 0 | {0,1,1,1,1,1,1} | {1,1,1,1,1,1}
|
3 | 0 | {0,1,1,1,1,1,1} | {1,1,1,1,1,1}
|
||||||
|
@ -592,40 +592,40 @@ WINDOW
|
||||||
row_window as (PARTITION BY user_id ORDER BY value_1 ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING),
|
row_window as (PARTITION BY user_id ORDER BY value_1 ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING),
|
||||||
row_window_exclude as (PARTITION BY user_id ORDER BY value_1 ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING EXCLUDE CURRENT ROW)
|
row_window_exclude as (PARTITION BY user_id ORDER BY value_1 ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING EXCLUDE CURRENT ROW)
|
||||||
ORDER BY
|
ORDER BY
|
||||||
user_id, value_1;
|
user_id, value_1, 3, 4;
|
||||||
user_id | value_1 | array_agg | array_agg
|
user_id | value_1 | array_agg | array_agg
|
||||||
---------+---------+-----------+-----------
|
---------+---------+-----------+-----------
|
||||||
3 | 0 | {0,1} | {1}
|
3 | 0 | {0,1} | {1}
|
||||||
3 | 1 | {1,1,1} | {1,1}
|
|
||||||
3 | 1 | {1,1,2} | {1,2}
|
|
||||||
3 | 1 | {0,1,1} | {0,1}
|
3 | 1 | {0,1,1} | {0,1}
|
||||||
3 | 1 | {1,1,1} | {1,1}
|
3 | 1 | {1,1,1} | {1,1}
|
||||||
3 | 1 | {1,1,1} | {1,1}
|
3 | 1 | {1,1,1} | {1,1}
|
||||||
3 | 1 | {1,1,1} | {1,1}
|
3 | 1 | {1,1,1} | {1,1}
|
||||||
|
3 | 1 | {1,1,1} | {1,1}
|
||||||
|
3 | 1 | {1,1,2} | {1,2}
|
||||||
3 | 2 | {1,2,2} | {1,2}
|
3 | 2 | {1,2,2} | {1,2}
|
||||||
3 | 2 | {2,2,3} | {2,3}
|
3 | 2 | {2,2,3} | {2,3}
|
||||||
3 | 3 | {2,3,3} | {2,3}
|
3 | 3 | {2,3,3} | {2,3}
|
||||||
3 | 3 | {3,3,4} | {3,4}
|
|
||||||
3 | 3 | {3,3,3} | {3,3}
|
3 | 3 | {3,3,3} | {3,3}
|
||||||
3 | 4 | {4,4,4} | {4,4}
|
3 | 3 | {3,3,4} | {3,4}
|
||||||
3 | 4 | {4,4,4} | {4,4}
|
|
||||||
3 | 4 | {3,4,4} | {3,4}
|
3 | 4 | {3,4,4} | {3,4}
|
||||||
|
3 | 4 | {4,4,4} | {4,4}
|
||||||
|
3 | 4 | {4,4,4} | {4,4}
|
||||||
3 | 4 | {4,4,5} | {4,5}
|
3 | 4 | {4,4,5} | {4,5}
|
||||||
3 | 5 | {4,5} | {4}
|
3 | 5 | {4,5} | {4}
|
||||||
4 | 0 | {0,0,1} | {0,1}
|
|
||||||
4 | 0 | {0,0,0} | {0,0}
|
|
||||||
4 | 0 | {0,0} | {0}
|
4 | 0 | {0,0} | {0}
|
||||||
4 | 0 | {0,0,0} | {0,0}
|
4 | 0 | {0,0,0} | {0,0}
|
||||||
|
4 | 0 | {0,0,0} | {0,0}
|
||||||
|
4 | 0 | {0,0,1} | {0,1}
|
||||||
4 | 1 | {0,1,2} | {0,2}
|
4 | 1 | {0,1,2} | {0,2}
|
||||||
4 | 2 | {2,2,3} | {2,3}
|
|
||||||
4 | 2 | {2,2,2} | {2,2}
|
|
||||||
4 | 2 | {1,2,2} | {1,2}
|
4 | 2 | {1,2,2} | {1,2}
|
||||||
4 | 3 | {3,3,4} | {3,4}
|
4 | 2 | {2,2,2} | {2,2}
|
||||||
4 | 3 | {3,3,3} | {3,3}
|
4 | 2 | {2,2,3} | {2,3}
|
||||||
4 | 3 | {3,3,3} | {3,3}
|
|
||||||
4 | 3 | {3,3,3} | {3,3}
|
|
||||||
4 | 3 | {3,3,3} | {3,3}
|
|
||||||
4 | 3 | {2,3,3} | {2,3}
|
4 | 3 | {2,3,3} | {2,3}
|
||||||
|
4 | 3 | {3,3,3} | {3,3}
|
||||||
|
4 | 3 | {3,3,3} | {3,3}
|
||||||
|
4 | 3 | {3,3,3} | {3,3}
|
||||||
|
4 | 3 | {3,3,3} | {3,3}
|
||||||
|
4 | 3 | {3,3,4} | {3,4}
|
||||||
4 | 4 | {3,4,4} | {3,4}
|
4 | 4 | {3,4,4} | {3,4}
|
||||||
4 | 4 | {4,4,4} | {4,4}
|
4 | 4 | {4,4,4} | {4,4}
|
||||||
4 | 4 | {4,4,4} | {4,4}
|
4 | 4 | {4,4,4} | {4,4}
|
||||||
|
@ -633,34 +633,34 @@ ORDER BY
|
||||||
4 | 4 | {4,4,4} | {4,4}
|
4 | 4 | {4,4,4} | {4,4}
|
||||||
4 | 4 | {4,4,4} | {4,4}
|
4 | 4 | {4,4,4} | {4,4}
|
||||||
4 | 4 | {4,4,5} | {4,5}
|
4 | 4 | {4,4,5} | {4,5}
|
||||||
4 | 5 | {5,5} | {5}
|
|
||||||
4 | 5 | {4,5,5} | {4,5}
|
4 | 5 | {4,5,5} | {4,5}
|
||||||
5 | 0 | {0,0,1} | {0,1}
|
4 | 5 | {5,5} | {5}
|
||||||
5 | 0 | {0,0} | {0}
|
5 | 0 | {0,0} | {0}
|
||||||
|
5 | 0 | {0,0,1} | {0,1}
|
||||||
|
5 | 1 | {0,1,1} | {0,1}
|
||||||
5 | 1 | {1,1,1} | {1,1}
|
5 | 1 | {1,1,1} | {1,1}
|
||||||
5 | 1 | {1,1,2} | {1,2}
|
5 | 1 | {1,1,2} | {1,2}
|
||||||
5 | 1 | {0,1,1} | {0,1}
|
|
||||||
5 | 2 | {2,2,2} | {2,2}
|
|
||||||
5 | 2 | {1,2,2} | {1,2}
|
5 | 2 | {1,2,2} | {1,2}
|
||||||
|
5 | 2 | {2,2,2} | {2,2}
|
||||||
|
5 | 2 | {2,2,2} | {2,2}
|
||||||
|
5 | 2 | {2,2,2} | {2,2}
|
||||||
|
5 | 2 | {2,2,2} | {2,2}
|
||||||
5 | 2 | {2,2,3} | {2,3}
|
5 | 2 | {2,2,3} | {2,3}
|
||||||
5 | 2 | {2,2,2} | {2,2}
|
|
||||||
5 | 2 | {2,2,2} | {2,2}
|
|
||||||
5 | 2 | {2,2,2} | {2,2}
|
|
||||||
5 | 3 | {3,3,4} | {3,4}
|
|
||||||
5 | 3 | {3,3,3} | {3,3}
|
|
||||||
5 | 3 | {3,3,3} | {3,3}
|
|
||||||
5 | 3 | {3,3,3} | {3,3}
|
|
||||||
5 | 3 | {3,3,3} | {3,3}
|
|
||||||
5 | 3 | {3,3,3} | {3,3}
|
|
||||||
5 | 3 | {3,3,3} | {3,3}
|
|
||||||
5 | 3 | {3,3,3} | {3,3}
|
|
||||||
5 | 3 | {2,3,3} | {2,3}
|
5 | 3 | {2,3,3} | {2,3}
|
||||||
5 | 4 | {4,4,5} | {4,5}
|
5 | 3 | {3,3,3} | {3,3}
|
||||||
5 | 4 | {4,4,4} | {4,4}
|
5 | 3 | {3,3,3} | {3,3}
|
||||||
|
5 | 3 | {3,3,3} | {3,3}
|
||||||
|
5 | 3 | {3,3,3} | {3,3}
|
||||||
|
5 | 3 | {3,3,3} | {3,3}
|
||||||
|
5 | 3 | {3,3,3} | {3,3}
|
||||||
|
5 | 3 | {3,3,3} | {3,3}
|
||||||
|
5 | 3 | {3,3,4} | {3,4}
|
||||||
5 | 4 | {3,4,4} | {3,4}
|
5 | 4 | {3,4,4} | {3,4}
|
||||||
|
5 | 4 | {4,4,4} | {4,4}
|
||||||
|
5 | 4 | {4,4,5} | {4,5}
|
||||||
|
5 | 5 | {4,5,5} | {4,5}
|
||||||
5 | 5 | {5,5} | {5}
|
5 | 5 | {5,5} | {5}
|
||||||
5 | 5 | {5,5,5} | {5,5}
|
5 | 5 | {5,5,5} | {5,5}
|
||||||
5 | 5 | {4,5,5} | {4,5}
|
|
||||||
(66 rows)
|
(66 rows)
|
||||||
|
|
||||||
-- some tests with GROUP BY, HAVING and LIMIT
|
-- some tests with GROUP BY, HAVING and LIMIT
|
||||||
|
|
|
@ -422,7 +422,7 @@ FROM
|
||||||
WHERE
|
WHERE
|
||||||
user_id > 2 AND user_id < 6
|
user_id > 2 AND user_id < 6
|
||||||
ORDER BY
|
ORDER BY
|
||||||
user_id, value_1;
|
user_id, value_1, 3, 4;
|
||||||
ERROR: syntax error at or near "EXCLUDE"
|
ERROR: syntax error at or near "EXCLUDE"
|
||||||
LINE 5: ...ANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE CU...
|
LINE 5: ...ANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE CU...
|
||||||
^
|
^
|
||||||
|
@ -440,7 +440,7 @@ WINDOW
|
||||||
range_window as (PARTITION BY user_id ORDER BY value_1 RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING),
|
range_window as (PARTITION BY user_id ORDER BY value_1 RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING),
|
||||||
range_window_exclude as (PARTITION BY user_id ORDER BY value_1 RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING EXCLUDE CURRENT ROW)
|
range_window_exclude as (PARTITION BY user_id ORDER BY value_1 RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING EXCLUDE CURRENT ROW)
|
||||||
ORDER BY
|
ORDER BY
|
||||||
user_id, value_1;
|
user_id, value_1, 3, 4;
|
||||||
ERROR: RANGE PRECEDING is only supported with UNBOUNDED
|
ERROR: RANGE PRECEDING is only supported with UNBOUNDED
|
||||||
LINE 11: ..._window as (PARTITION BY user_id ORDER BY value_1 RANGE BETW...
|
LINE 11: ..._window as (PARTITION BY user_id ORDER BY value_1 RANGE BETW...
|
||||||
^
|
^
|
||||||
|
@ -458,7 +458,7 @@ WINDOW
|
||||||
row_window as (PARTITION BY user_id ORDER BY value_1 ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING),
|
row_window as (PARTITION BY user_id ORDER BY value_1 ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING),
|
||||||
row_window_exclude as (PARTITION BY user_id ORDER BY value_1 ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING EXCLUDE CURRENT ROW)
|
row_window_exclude as (PARTITION BY user_id ORDER BY value_1 ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING EXCLUDE CURRENT ROW)
|
||||||
ORDER BY
|
ORDER BY
|
||||||
user_id, value_1;
|
user_id, value_1, 3, 4;
|
||||||
ERROR: syntax error at or near "EXCLUDE"
|
ERROR: syntax error at or near "EXCLUDE"
|
||||||
LINE 12: ...value_1 ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING EXCLUDE CU...
|
LINE 12: ...value_1 ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING EXCLUDE CU...
|
||||||
^
|
^
|
||||||
|
|
|
@ -239,7 +239,7 @@ FROM
|
||||||
WHERE
|
WHERE
|
||||||
user_id > 2 AND user_id < 6
|
user_id > 2 AND user_id < 6
|
||||||
ORDER BY
|
ORDER BY
|
||||||
user_id, value_1;
|
user_id, value_1, 3, 4;
|
||||||
|
|
||||||
-- test <offset> preceding and <offset> following on RANGE window
|
-- test <offset> preceding and <offset> following on RANGE window
|
||||||
SELECT
|
SELECT
|
||||||
|
@ -255,7 +255,7 @@ WINDOW
|
||||||
range_window as (PARTITION BY user_id ORDER BY value_1 RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING),
|
range_window as (PARTITION BY user_id ORDER BY value_1 RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING),
|
||||||
range_window_exclude as (PARTITION BY user_id ORDER BY value_1 RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING EXCLUDE CURRENT ROW)
|
range_window_exclude as (PARTITION BY user_id ORDER BY value_1 RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING EXCLUDE CURRENT ROW)
|
||||||
ORDER BY
|
ORDER BY
|
||||||
user_id, value_1;
|
user_id, value_1, 3, 4;
|
||||||
|
|
||||||
-- test <offset> preceding and <offset> following on ROW window
|
-- test <offset> preceding and <offset> following on ROW window
|
||||||
SELECT
|
SELECT
|
||||||
|
@ -271,7 +271,7 @@ WINDOW
|
||||||
row_window as (PARTITION BY user_id ORDER BY value_1 ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING),
|
row_window as (PARTITION BY user_id ORDER BY value_1 ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING),
|
||||||
row_window_exclude as (PARTITION BY user_id ORDER BY value_1 ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING EXCLUDE CURRENT ROW)
|
row_window_exclude as (PARTITION BY user_id ORDER BY value_1 ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING EXCLUDE CURRENT ROW)
|
||||||
ORDER BY
|
ORDER BY
|
||||||
user_id, value_1;
|
user_id, value_1, 3, 4;
|
||||||
|
|
||||||
-- some tests with GROUP BY, HAVING and LIMIT
|
-- some tests with GROUP BY, HAVING and LIMIT
|
||||||
SELECT
|
SELECT
|
||||||
|
|
Loading…
Reference in New Issue