Fungsi Window di Snowflake
Jake Roach
Field Data Engineer
Digunakan untuk melakukan perhitungan pada "jendela" baris dan mengembalikan nilai untuk setiap baris
$$
$$
Peringkat
RANK, DENSE_RANKFIRST_VALUE, LAST_VALUE, NTH_VALUELAG, LEADAgregasi
COUNT, SUM, AVGFungsi jendela membantu kita menjawab jenis pertanyaan baru!
$$
Fungsi agregasi tradisional harus memiliki klausa GROUP BY.


Tidak memerlukan GROUP BY!
SELECT
<other-fields>,
ROW_NUMBER() OVER(
ORDER BY <field>
) AS <alias>
FROM SCHEMA.table
...;
Fungsi ROW_NUMBER() menetapkan nomor baris untuk setiap catatan dalam hasil set
$$
OVER() mendefinisikan jendelaGROUP BY!SELECT
customer_id,
event_name,
-- Menetapkan nomor baris untuk setiap
-- catatan dalam hasil set
ROW_NUMBER() OVER(
ORDER BY time_spent_minutes
) AS row_num
FROM concerts.attendance;
customer_id | event_name | row_num
------------- | ------------ | ---------
1931292 | Music Fest | 1
5462384 | Elton John | 2
7732891 | Coachella | 3
3124888 | Porch Fest | 4
$$
$$
Ingat sintaks: ROW_NUMBER() OVER( ORDER BY ...)!
Fungsi Window di Snowflake