Aracılığıyla paylaş


WINDOW yan tümcesi

Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime

window yan tümcesi, bir veya daha fazla ayrı pencere belirtimini bir kez tanımlayıp adlandırmanıza ve bunları aynı sorgudaki birçok pencere işlevinde paylaşmanıza olanak tanır.

Sözdizimi

WINDOW { window_name AS window_spec } [, ...]

Parametreler

  • window_name

    Pencere belirtimine atıfta bulunulabilecek bir tanımlayıcı. Tanımlayıcı, WINDOW maddesi içinde benzersiz olmalıdır.

  • window_spec

    Bir veya daha fazla pencere işlevi arasında paylaşılacak bir pencere belirtimi.

Örnekler

> 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);
1.3    27000.0 23000   29000   3
1.0    25500.0 21000   29000   4
1.4    25000.0 21000   29000   5
1.4    25200.0 21000   30000   5
1.4    22600.0 10000   30000   5
1.4    23800.0 10000   35000   5
1.4    26000.0 10000   35000   5
1.0    26750.0 10000   35000   4
1.0    25666.7 10000   35000   3