WINDOW (cláusula)
Se aplica a: Databricks SQL Databricks Runtime
La cláusula WINDOW permite definir una o más especificaciones de ventana distintas y asignarles un nombre en una sola vez, a fin de compartirlas entre muchas funciones de ventana dentro de la misma consulta.
Sintaxis
WINDOW { window_name AS window_spec } [, ...]
Parámetros
window_name
Identificador mediante el que se puede hacer referencia a la especificación de ventana. El identificador debe ser único dentro de la cláusula WINDOW.
window_spec
Especificación de ventana que se va a compartir entre una o varias funciones de ventana.
Ejemplos
> CREATE TABLE employees
(name STRING, dept STRING, salary INT, age INT);
> INSERT INTO employees
VALUES ('Lisa', 'Sales', 10000, 35),
('Evan', 'Sales', 32000, 38),
('Fred', 'Engineering', 21000, 28),
('Alex', 'Sales', 30000, 33),
('Tom', 'Engineering', 23000, 33),
('Jane', 'Marketing', 29000, 28),
('Jeff', 'Marketing', 35000, 38),
('Paul', 'Engineering', 29000, 23),
('Chloe', 'Engineering', 23000, 25);
> SELECT round(avg(age) OVER win, 1) AS salary,
round(avg(salary) OVER win, 1) AS avgsalary,
min(salary) OVER win AS minsalary,
max(salary) OVER win AS maxsalary,
count(1) OVER win AS numEmps
FROM employees
WINDOW win AS (ORDER BY age
ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING);
25.3 27000.0 23000 29000 3
26.0 25500.0 21000 29000 4
27.4 25000.0 21000 29000 5
29.4 25200.0 21000 30000 5
31.4 22600.0 10000 30000 5
33.4 23800.0 10000 35000 5
35.4 26000.0 10000 35000 5
36.0 26750.0 10000 35000 4
37.0 25666.7 10000 35000 3