Details
Description
When window clause with ROWS is used between two proper PRECEDING boundaries, Hive reports syntax errors as following examples.
--For example 1
SELECT name, dept_num, salary,
MAX(salary) OVER (PARTITION BY dept_num ORDER BY
name ROWS BETWEEN 2 PRECEDING AND 1 PRECEDING) win4_alter
FROM employee_contract;
Error: Error while compiling statement: FAILED: SemanticException Failed to breakup Windowing invocations into Groups. At least 1 group must only depend on input columns. Also check for circular dependencies.
Underlying error: Window range invalid, start boundary is greater than end boundary: window(start=range(2 PRECEDING), end=range(1 PRECEDING)) (state=42000,code=40000)
--For example 2
SELECT name, dept_num, salary,
MAX(salary) OVER (PARTITION BY dept_num ORDER BY
name ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING) win1
FROM employee_contract;
Error: Error while compiling statement: FAILED: SemanticException End of a WindowFrame cannot be UNBOUNDED PRECEDING (state=42000,code=40000)
Attachments
Attachments
Issue Links
- duplicates
-
HIVE-10555 Improve windowing spec of range based windowing to support additional range formats
- Closed
- links to