Klausa bingkai jendela
Berlaku untuk: pemeriksaan Databricks SQL 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
BARIS
Jika ditentukan, bingkai jendela geser dinyatakan dalam hal baris sebelumnya atau mengikuti baris saat ini.
BERBAGAI
Jika ditentukan, fungsi jendela harus menentukan klausa ORDER BY dengan satu ekspresi
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.
SEBELUMNYA TIDAK TERIKAT
Menentukan bahwa bingkai jendela dimulai di awal partisi.
offset_start SEBELUMNYA
Jika mode adalah
ROWS
,offset_start
adalah angka harfiah integral positif yang menentukan berapa banyak baris sebelum baris saat ini bingkai dimulai.Jika mode adalah
RANGE
,offset_start
adalah nilai harfiah positif dari jenis yang dapat dikurangi dariobExpr
. Bingkai dimulai pada baris pertama partisi yangobExpr
lebih besar atau sama denganobExpr - offset_start
pada baris saat ini.BARIS SAAT INI
Menentukan bahwa bingkai dimulai pada baris saat ini.
offset_start BERIKUT
Jika mode adalah
ROWS
,offset_start
adalah angka harfiah integral positif yang menentukan berapa banyak baris yang melewati ke baris saat ini bingkai dimulai. Jika mode adalahRANGE
,offset_start
adalah nilai harfiah positif dari jenis yang dapat ditambahkan keobExpr
. Bingkai dimulai pada baris pertama partisi yangobExpr
lebih besar atau sama denganobExpr + offset_start
pada baris saat ini.
frame_stop
Akhir bingkai jendela geser relatif terhadap baris saat ini.
Jika tidak ditentukan, bingkai berhenti di CURRENT ROW. Akhir jendela geser harus lebih besar dari awal bingkai jendela.
offset_start SEBELUMNYA
Jika frame_mode adalah
ROWS
,offset_stop
adalah angka harfiah integral positif yang menentukan berapa banyak baris sebelum baris saat ini bingkai berhenti. Jika frame_mode adalahRANGE
,offset_stop
adalah nilai harfiah positif dari jenis yang sama denganoffset_start
. Bingkai berakhir pada baris terakhir dari partisi yangobExpr
kurang dari atau sama denganobExpr - offset_stop
pada baris saat ini.BARIS SAAT INI
Menentukan bahwa bingkai berhenti pada baris saat ini.
offsetStop FOLLOWING
Jika frame_mode adalah
ROWS
,offset_stop
adalah angka harfiah integral positif yang menentukan berapa banyak baris yang melewati ke baris saat ini, bingkai berakhir. Jika frame_mode adalahRANGE
,offset_stop
adalah nilai harfiah positif dari jenis yang sama denganoffset_start
. Bingkai berakhir pada baris terakhir partisi yangobExpr
kurang dari atau sama denganobExpr + offset_stop
pada baris saat ini.MENGIKUTI TIDAK TERIKAT
Menentukan bahwa bingkai jendela berhenti di akhir partisi.