عبارة WINDOW
ينطبق على: التحقق من Databricks SQL Databricks Runtime
تسمح لك عبارة النافذة بتعريف سمة واحدة أو أكثر من مواصفات النافذة المميزة مرة واحدة ومشاركتها عبر العديد من وظائف النافذة داخل نفس الاستعلام.
بناء الجمله
WINDOW { window_name AS window_spec } [, ...]
معلمات
window_name
معرف يمكن من خلاله الرجوع إلى مواصفات النافذة. يجب أن يكون المعرف فريدا داخل عبارة WINDOW.
window_spec
مواصفات النافذة التي سيتم مشاركتها عبر دالة نافذة واحدة أو أكثر.
امثله
> 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