Megosztás a következőn keresztül:


Ablakkeret záradéka

A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime

A partíción belüli sorok toló részhalmazát adja meg, amelyen az aggregátum- vagy elemzési ablakfüggvény működik.

Szintaxis

{ frame_mode frame_start |
  frame_mode BETWEEN frame_start AND frame_end } }

frame_mode
{ RANGE | ROWS }

frame_start
{ UNBOUNDED PRECEDING |
  offset_start PRECEDING |
  CURRENT ROW |
  offset_start FOLLOWING }

frame_end
{ offset_stop PRECEDING |
  CURRENT ROW |
  offset_stop FOLLOWING |
  UNBOUNDED FOLLOWING }

Paraméterek

  • frame_mode

    • SOROK

      Ha meg van adva, a tolóablak kerete az aktuális sort megelőző vagy követő sorokban van kifejezve.

    • TARTOMÁNY

      Ha meg van adva, az ablakfüggvénynek tartalmaznia kell egy ORDER BY záradékot egyetlen kifejezéssel obExpr.

      A tolóablak határait ezután az aktuális sor obExpr-tól való eltolásként fejezik ki.

  • frame_start

    A tolóablak keretének kiindulási pozíciója az aktuális sorhoz képest.

    • KÖTETLEN ELŐZŐ

      Megadja, hogy az ablakkeret a partíció elején kezdődik.

    • offset_start ELŐZŐ

      Ha a mód az ROWS, akkor a offset_start pozitív egész szám azt határozza meg, hogy hány sorral az aktuális sor előtt kezdődik a keret.

      Ha a mód az RANGE, offset_start egy pozitív literális érték, amely típusból obExpr kivonható. A keret annál a partíció első soránál kezdődik, amelynél a obExpr nagyobb vagy egyenlő az aktuális sorban lévő obExpr - offset_start-nél.

    • AKTUÁLIS SOR

      Azt adja meg, hogy a keret az aktuális sortól indul-e.

    • offset_start KÖVETKEZŐ

      Ha a mód az ROWS, offset_start az a pozitív egész szám, amely meghatározza, hogy hány sorral az aktuális sor után kezdődik a keret. Ha a mód az RANGE, akkor a offset_start egy olyan típusú pozitív literálérték, amelyhez hozzáadható a obExpr. A keret annál a partíció első soránál kezdődik, amelynél a obExpr nagyobb vagy egyenlő az aktuális sorban lévő obExpr + offset_start-nél.

  • frame_stop

    A tolóablak keretének vége az aktuális sorhoz képest.

    Ha nincs megadva, a keret az AKTUÁLIS SORnál áll meg. A tolóablak végének nagyobbnak kell lennie, mint az ablakkeret kezdete.

    • offset_start ELŐZŐ

      Ha a frame_mode ROWS, akkor a offset_stop az a pozitív egész literálszám, amely meghatározza, hogy hány sorral az aktuális sor előtt áll meg a keret. Ha a frame_mode értéke RANGE, akkor a offset_stop egy pozitív literális érték, amely azonos típusú, mint a offset_start. A keret a partíció azon utolsó sorában végződik, amelyben a obExpr kisebb vagy egyenlő, mint az aktuális sorban lévő obExpr - offset_stop.

    • AKTUÁLIS SOR

      Megadja, hogy a keret az aktuális sorban áll-e meg.

    • eltolásLeállítás KÖVETKEZŐ

      Ha a frame_mode ROWS értéket vesz fel, akkor offset_stop az a pozitív egész literálszám, amely meghatározza, hogy a keret hány sorral az aktuális sor után ér véget. Ha a frame_mode értéke RANGE, akkor a offset_stop egy pozitív literális érték, amely azonos típusú, mint a offset_start. A keret az adott partíció utolsó sorában végződik, ahol obExpr kisebb vagy egyenlő az aktuális sor obExpr + offset_stop értéknél.

    • SZABAD KÖVETÉS

      Azt adja meg, hogy az ablakkeret a partíció végén leáll.