Fungsi jendela FIRST_VALUE - AWS Clean Rooms

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Fungsi jendela FIRST_VALUE

Diberikan kumpulan baris yang diurutkan, FIRST_VALUE mengembalikan nilai ekspresi yang ditentukan sehubungan dengan baris pertama di bingkai jendela.

Untuk informasi tentang memilih baris terakhir dalam bingkai, lihatFungsi jendela LAST_VALUE.

Sintaks

FIRST_VALUE( expression )[ IGNORE NULLS | RESPECT NULLS ] OVER ( [ PARTITION BY expr_list ] [ ORDER BY order_list frame_clause ] )

Argumen

ekspresi

Kolom target atau ekspresi tempat fungsi beroperasi.

ABAIKAN NULLS

Ketika opsi ini digunakan dengan FIRST_VALUE, fungsi mengembalikan nilai pertama dalam frame yang tidak NULL (atau NULL jika semua nilai NULL).

RESPECT NULLS

Menunjukkan bahwa AWS Clean Rooms harus menyertakan nilai nol dalam penentuan baris mana yang akan digunakan. RESPECT NULLS didukung secara default jika Anda tidak menentukan IGNORE NULLS.

DI ATAS

Memperkenalkan klausa jendela untuk fungsi tersebut.

PARTISI OLEH expr_list

Mendefinisikan jendela untuk fungsi dalam hal satu atau lebih ekspresi.

PESANAN BERDASARKAN order_list

Mengurutkan baris dalam setiap partisi. Jika tidak ada klausa PARTITION BY yang ditentukan, ORDER BY mengurutkan seluruh tabel. Jika Anda menentukan klausa ORDER BY, Anda juga harus menentukan frame_clause.

Hasil fungsi FIRST_VALUE tergantung pada urutan data. Hasilnya nondeterministik dalam kasus-kasus berikut:

  • Ketika tidak ada klausa ORDER BY ditentukan dan partisi berisi dua nilai yang berbeda untuk ekspresi

  • Ketika ekspresi mengevaluasi nilai yang berbeda yang sesuai dengan nilai yang sama dalam daftar ORDER BY.

frame_clause

Jika klausa ORDER BY digunakan untuk fungsi agregat, klausa bingkai eksplisit diperlukan. Klausa bingkai menyempurnakan kumpulan baris di jendela fungsi, termasuk atau mengecualikan kumpulan baris dalam hasil yang diurutkan. Klausa bingkai terdiri dari kata kunci ROWS dan penentu terkait. Lihat Ringkasan sintaks fungsi jendela.

Jenis pengembalian

Fungsi-fungsi ini mendukung ekspresi yang menggunakan tipe AWS Clean Rooms data primitif. Tipe pengembalian sama dengan tipe data ekspresi.

Contoh

Contoh berikut mengembalikan kapasitas tempat duduk untuk setiap tempat di meja VENUE, dengan hasil yang diurutkan berdasarkan kapasitas (tinggi ke rendah). Fungsi FIRST_VALUE digunakan untuk memilih nama tempat yang sesuai dengan baris pertama dalam bingkai: dalam hal ini, baris dengan jumlah kursi tertinggi. Hasilnya dipartisi berdasarkan status, jadi ketika nilai VENUESTATE berubah, nilai pertama yang baru dipilih. Bingkai jendela tidak terbatas sehingga nilai pertama yang sama dipilih untuk setiap baris di setiap partisi.

Untuk California, Qualcomm Stadium memiliki jumlah kursi (70561) tertinggi, jadi nama ini adalah nilai pertama untuk semua baris di CA partisi.

select venuestate, venueseats, venuename, first_value(venuename) over(partition by venuestate order by venueseats desc rows between unbounded preceding and unbounded following) from (select * from venue where venueseats >0) order by venuestate; venuestate | venueseats | venuename | first_value -----------+------------+--------------------------------+------------------------------ CA | 70561 | Qualcomm Stadium | Qualcomm Stadium CA | 69843 | Monster Park | Qualcomm Stadium CA | 63026 | McAfee Coliseum | Qualcomm Stadium CA | 56000 | Dodger Stadium | Qualcomm Stadium CA | 45050 | Angel Stadium of Anaheim | Qualcomm Stadium CA | 42445 | PETCO Park | Qualcomm Stadium CA | 41503 | AT&T Park | Qualcomm Stadium CA | 22000 | Shoreline Amphitheatre | Qualcomm Stadium CO | 76125 | INVESCO Field | INVESCO Field CO | 50445 | Coors Field | INVESCO Field DC | 41888 | Nationals Park | Nationals Park FL | 74916 | Dolphin Stadium | Dolphin Stadium FL | 73800 | Jacksonville Municipal Stadium | Dolphin Stadium FL | 65647 | Raymond James Stadium | Dolphin Stadium FL | 36048 | Tropicana Field | Dolphin Stadium ...