SQL-ikkunatoiminto - SQL window function

Vuonna SQL -tietokannan kyselyn kieli , ikkuna toiminnot mahdollistavat pääsyn tietoihin kirjanpidosta juuri ennen ja jälkeen nykyisen ennätys. Ikkunafunktio määrittelee kehyksen tai ikkunan riveistä, joilla on tietty pituus nykyisen rivin ympärillä, ja suorittaa laskelman ikkunan tietojoukkoon.

      NAME |
------------
      Aaron| <-- Preceding (unbounded)
     Andrew|
     Amelia|
      James|
       Jill|
     Johnny| <-- 1st preceding row
    Michael| <-- Current row
       Nick| <-- 1st following row
    Ophelia|
       Zach| <-- Following (unbounded)

Yllä olevassa taulukossa seuraava kysely purkaa jokaiselle riville ikkunan arvot yhden edeltävän ja yhden seuraavan rivin kanssa:

 SELECT
  LAG(name, 1) 
    OVER(ORDER BY name) "prev",
  name, 
  LEAD(name, 1) 
    OVER(ORDER BY name) "next"
 FROM people
 ORDER BY name

Tuloskysely sisältää seuraavat arvot:

|     PREV |     NAME |     NEXT |
|----------|----------|----------|
|    (null)|     Aaron|    Andrew|
|     Aaron|    Andrew|    Amelia|
|    Andrew|    Amelia|     James|
|    Amelia|     James|      Jill|
|     James|      Jill|    Johnny|
|      Jill|    Johnny|   Michael|
|    Johnny|   Michael|      Nick|
|   Michael|      Nick|   Ophelia|
|      Nick|   Ophelia|      Zach|
|   Ophelia|      Zach|    (null)|

Viitteet