Bagikan melalui


Klausa tentang bingkai jendela

Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime

Menentukan subset baris geser dalam partisi tempat fungsi jendela agregat atau analitik beroperasi.

Sintaks

{ 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 }

Parameter

  • frame_mode

    • ROWS

      Jika ditentukan, frame jendela geser diukur berdasarkan baris sebelumnya atau baris yang mengikuti baris saat ini.

    • kisaran

      Jika ditentukan, fungsi jendela harus menentukan klausa ORDER BY dengan ekspresi tunggal obExpr.

      Batas jendela geser kemudian dinyatakan sebagai offset dari obExpr untuk baris saat ini.

  • frame_start

    Posisi awal bingkai jendela geser relatif terhadap baris saat ini.

    • TANPA BATAS SEBELUMNYA

      Menentukan bahwa bingkai jendela dimulai di awal partisi.

    • awal_offset MENDAHULUI

      Jika modenya berupa ROWS, offset_start merupakan bilangan bulat positif yang menentukan jumlah baris sebelum baris saat ini dimulai.

      Jika modenya berupa RANGE, offset_start merupakan nilai harfiah positif dari jenis yang dapat dikurangkan dari obExpr. Bingkai dimulai pada baris pertama partisi di mana obExpr lebih besar atau sama dengan obExpr - offset_start pada baris saat ini.

    • BARIS SAAT INI

      Menentukan bahwa bingkai dimulai pada baris saat ini.

    • offset_mulai MENGIKUTI

      Jika modenya berupa ROWS, offset_start merupakan bilangan harfiah integral positif yang menentukan jumlah baris yang melewati baris tempat bingkai dimulai. Jika mode berupa RANGE, offset_start merupakan nilai harfiah positif jenis yang dapat ditambahkan ke obExpr. Bingkai dimulai pada baris pertama partisi di mana obExpr lebih besar atau sama dengan obExpr + offset_start pada baris saat ini.

  • frame_stop

    Ujung dari bingkai jendela geser relatif terhadap baris saat ini.

    Jika tidak ditentukan, bingkai akan berhenti di CURRENT ROW. Akhir jendela geser harus lebih besar dari awal bingkai jendela.

    • offset_start SEBELUM

      Jika frame_mode berupa ROWS, offset_stop merupakan bilangan harfiah integral positif yang menentukan jumlah baris sebelum baris saat ini di mana bingkai berhenti. Jika frame_mode berupa RANGE, offset_stop merupakan nilai harfiah positif jenis yang sama dengan offset_start. Bingkai berakhir pada baris terakhir dari partisi yang obExpr nya kurang dari atau sama dengan obExpr - offset_stop pada baris saat ini.

    • BARIS SAAT INI

      Menentukan bahwa bingkai berhenti di baris saat ini.

    • offsetStop FOLLOWING

      Jika frame_mode berupa ROWS, offset_stop merupakan bilangan harfiah positif yang menentukan jumlah baris setelah baris saat ini di mana bingkai berakhir. Jika frame_mode berupa RANGE, offset_stop merupakan nilai harfiah positif jenis yang sama dengan offset_start. Bingkai berakhir pada baris terakhir partisi yang obExpr nya kurang dari atau sama dengan obExpr + offset_stop pada baris saat ini.

    • Mengikuti Tanpa Batas

      Menentukan bahwa bingkai jendela berhenti di akhir partisi.

  • fungsi Jendela